From owner-freebsd-doc@FreeBSD.ORG Thu May 1 15:40:11 2003 Return-Path: Delivered-To: freebsd-doc@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B552F37B404 for ; Thu, 1 May 2003 15:40:11 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 849CF43F3F for ; Thu, 1 May 2003 15:40:10 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h41MeAUp049757 for ; Thu, 1 May 2003 15:40:10 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h41Me97O049756; Thu, 1 May 2003 15:40:09 -0700 (PDT) Date: Thu, 1 May 2003 15:40:09 -0700 (PDT) Message-Id: <200305012240.h41Me97O049756@freefall.freebsd.org> To: freebsd-doc@FreeBSD.org From: "Simon L. Nielsen" Subject: Re: docs/32054: inconsistency between index.3 and rindex.3 X-BeenThere: freebsd-doc@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: "Simon L. Nielsen" List-Id: Documentation project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 May 2003 22:40:12 -0000 The following reply was made to PR docs/32054; it has been noted by GNATS. From: "Simon L. Nielsen" To: freebsd-gnats-submit@freebsd.org, SUZUKI Koichi Cc: Subject: Re: docs/32054: inconsistency between index.3 and rindex.3 Date: Fri, 2 May 2003 00:35:59 +0200 --brEuL7wsLY8+TuWz Content-Type: multipart/mixed; boundary="sgneBHv3152wZ8jf" Content-Disposition: inline --sgneBHv3152wZ8jf Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello After some more research... index / strchr are located in different header files so to avoid confusion I think it is simpler to keep them as seperate man pages. The attached patch differes from the pr previous patch I added to this PR by : Minor fixes found from comparing with other similar man pages documenting multiple functions. Include the documentation of strrchr in strchr(3). Minimze the diff between strchr(3) and index(3) mainly overriding from strchr(3) to index(3) since the former is the "standard" one and strchr(3) matches mostly with the Open Group Unix Specification description. If this patch is used rindex.3 and strrchr.3 should be deleted from the tree. --=20 Simon L. Nielsen --sgneBHv3152wZ8jf Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="man-index.3-sln2.patch" Content-Transfer-Encoding: quoted-printable Index: Makefile.inc =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/lib/libc/string/Makefile.inc,v retrieving revision 1.32 diff -u -d -r1.32 Makefile.inc --- Makefile.inc 18 Nov 2002 09:50:56 -0000 1.32 +++ Makefile.inc 1 May 2003 22:13:19 -0000 @@ -26,14 +26,16 @@ .endif =20 MAN+=3D bcmp.3 bcopy.3 bstring.3 bzero.3 ffs.3 index.3 memccpy.3 memchr.3 \ - memcmp.3 memcpy.3 memmove.3 memset.3 rindex.3 strcasecmp.3 strcat.3 \ + memcmp.3 memcpy.3 memmove.3 memset.3 strcasecmp.3 strcat.3 \ strchr.3 strcmp.3 strcoll.3 strcpy.3 strcspn.3 strdup.3 strerror.3 \ - string.3 strlcpy.3 strlen.3 strmode.3 strpbrk.3 strrchr.3 strsep.3 \ + string.3 strlcpy.3 strlen.3 strmode.3 strpbrk.3 strsep.3 \ strspn.3 strstr.3 strtok.3 strxfrm.3 swab.3 wcscoll.3 wcstok.3 \ wcswidth.3 wcsxfrm.3 wmemchr.3 =20 +MLINKS+=3Dindex.3 rindex.3 MLINKS+=3Dstrcasecmp.3 strncasecmp.3 MLINKS+=3Dstrcat.3 strncat.3 +MLINKS+=3Dstrchr.3 strrchr.3 MLINKS+=3Dstrcmp.3 strncmp.3 MLINKS+=3Dstrcpy.3 stpcpy.3 MLINKS+=3Dstrcpy.3 strncpy.3 Index: index.3 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/lib/libc/string/index.3,v retrieving revision 1.8 diff -u -d -r1.8 index.3 --- index.3 18 Dec 2002 13:33:03 -0000 1.8 +++ index.3 1 May 2003 22:02:15 -0000 @@ -38,7 +38,8 @@ .Dt INDEX 3 .Os .Sh NAME -.Nm index +.Nm index , +.Nm rindex .Nd locate character in string .Sh LIBRARY .Lb libc @@ -46,28 +47,44 @@ .In strings.h .Ft char * .Fn index "const char *s" "int c" +.Ft char * +.Fn rindex "const char *s" "int c" .Sh DESCRIPTION The .Fn index function -locates the first character matching +locates the first occurrence of .Fa c (converted to a .Vt char ) -in the null-terminated string +in the string pointed to by .Fa s . +The terminating +.Dv NULL +character is considered part of the string. +.Pp +The +.Fn rindex +function is identical to +.Fn index +except it locates the last occurrence of +.Fa c . .Sh RETURN VALUES -A pointer to the character is returned if it is found; otherwise +The functions +.Fn index +and +.Fn rindex +returns a pointer to the located character, or .Dv NULL -is returned. +if the character does not appear in the string. If .Fa c -is '\e0', -.Fn index -locates the terminating '\e0'. +is +.Ql \e0 , +the functions locates the terminating +.Ql \e0 . .Sh SEE ALSO .Xr memchr 3 , -.Xr rindex 3 , .Xr strchr 3 , .Xr strcspn 3 , .Xr strpbrk 3 , @@ -79,11 +96,13 @@ .Sh HISTORY A .Fn index +and a +.Fn rindex function appeared in .At v6 . -Its prototype existed previously in +Their prototypes existed previously in .Aq Pa string.h -before it was moved to +before they were moved to .Aq Pa strings.h for .St -p1003.1-2001 Index: strchr.3 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/lib/libc/string/strchr.3,v retrieving revision 1.9 diff -u -d -r1.9 strchr.3 --- strchr.3 18 Dec 2002 13:33:03 -0000 1.9 +++ strchr.3 1 May 2003 21:40:59 -0000 @@ -40,7 +40,8 @@ .Dt STRCHR 3 .Os .Sh NAME -.Nm strchr +.Nm strchr , +.Nm strrchr .Nd locate character in string .Sh LIBRARY .Lb libc @@ -48,41 +49,53 @@ .In string.h .Ft char * .Fn strchr "const char *s" "int c" +.Ft char * +.Fn strrchr "const char *s" "int c" .Sh DESCRIPTION The .Fn strchr function locates the first occurrence of .Fa c +(converted to a +.Vt char ) in the string pointed to by .Fa s . The terminating -.Dv NUL +.Dv NULL character is considered part of the string. -If -.Fa c -is -.Ql \e0 , +.Pp +The +.Fn strrchr +function is identical to .Fn strchr -locates the terminating -.Ql \e0 . +except it locates the last occurrence of +.Fa c . .Sh RETURN VALUES -The function +The functions .Fn strchr +and +.Fn strrchr returns a pointer to the located character, or .Dv NULL if the character does not appear in the string. +If +.Fa c +is +.Ql \e0 , +the functions locates the terminating +.Ql \e0 . .Sh SEE ALSO .Xr memchr 3 , .Xr strcspn 3 , .Xr strpbrk 3 , -.Xr strrchr 3 , .Xr strsep 3 , .Xr strspn 3 , .Xr strstr 3 , .Xr strtok 3 .Sh STANDARDS -The +The functions .Fn strchr -function +and +.Fn strrchr conforms to .St -isoC . --sgneBHv3152wZ8jf-- --brEuL7wsLY8+TuWz Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+saFN8kocFXgPTRwRAohJAJ0Yg6Ge9jhzTdcdTPdYKicQpbmCXQCgxwPy m13i6mqQqOLtQYq3o0HsWds= =Uhep -----END PGP SIGNATURE----- --brEuL7wsLY8+TuWz--