Date: Thu, 3 Sep 2009 10:06:37 +0000 (UTC) From: Dag-Erling Smorgrav <des@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r196776 - head/lib/libc/locale Message-ID: <200909031006.n83A6bMZ022789@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: des Date: Thu Sep 3 10:06:37 2009 New Revision: 196776 URL: http://svn.freebsd.org/changeset/base/196776 Log: Document the need for a cast when passing a char to a ctype function. MFC after: 2 weeks Modified: head/lib/libc/locale/ctype.3 head/lib/libc/locale/digittoint.3 head/lib/libc/locale/isalnum.3 head/lib/libc/locale/isalpha.3 head/lib/libc/locale/isascii.3 head/lib/libc/locale/isblank.3 head/lib/libc/locale/iscntrl.3 head/lib/libc/locale/isdigit.3 head/lib/libc/locale/isgraph.3 head/lib/libc/locale/isideogram.3 head/lib/libc/locale/islower.3 head/lib/libc/locale/isphonogram.3 head/lib/libc/locale/isprint.3 head/lib/libc/locale/ispunct.3 head/lib/libc/locale/isrune.3 head/lib/libc/locale/isspace.3 head/lib/libc/locale/isspecial.3 head/lib/libc/locale/isupper.3 head/lib/libc/locale/isxdigit.3 head/lib/libc/locale/toascii.3 head/lib/libc/locale/tolower.3 head/lib/libc/locale/toupper.3 Modified: head/lib/libc/locale/ctype.3 ============================================================================== --- head/lib/libc/locale/ctype.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/ctype.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -28,7 +28,7 @@ .\" @(#)ctype.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd March 30, 2004 +.Dd September 3, 2009 .Dt CTYPE 3 .Os .Sh NAME @@ -111,6 +111,13 @@ They are available as macros, defined in .In ctype.h , or as true functions in the C library. See the specific manual pages for more information. +.Pp +.Em NOTE : +if the value passed to one of these functions is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh SEE ALSO .Xr digittoint 3 , .Xr isalnum 3 , Modified: head/lib/libc/locale/digittoint.3 ============================================================================== --- head/lib/libc/locale/digittoint.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/digittoint.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -28,7 +28,7 @@ .\" @(#)digittoint.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd April 6, 2001 +.Dd September 3, 2009 .Dt DIGITTOINT 3 .Os .Sh NAME @@ -46,6 +46,15 @@ The function converts a numeric character to its corresponding integer value. The character can be any decimal digit or hexadecimal digit. With hexadecimal characters, the case of the values does not matter. +.Pp +.Em NOTE : +if the value passed to the +.Fn digittoint +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn digittoint Modified: head/lib/libc/locale/isalnum.3 ============================================================================== --- head/lib/libc/locale/isalnum.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isalnum.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -32,7 +32,7 @@ .\" @(#)isalnum.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd July 17, 2005 +.Dd September 3, 2009 .Dt ISALNUM 3 .Os .Sh NAME @@ -75,6 +75,15 @@ In the ASCII character set, this include .It "\&164\ ``t'' \t165\ ``u'' \t166\ ``v'' \t167\ ``w'' \t170\ ``x''" .It "\&171\ ``y'' \t172\ ``z''" .El +.Pp +.Em NOTE : +if the value passed to the +.Fn isalnum +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn isalnum Modified: head/lib/libc/locale/isalpha.3 ============================================================================== --- head/lib/libc/locale/isalpha.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isalpha.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -32,7 +32,7 @@ .\" @(#)isalpha.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd July 17, 2005 +.Dd September 3, 2009 .Dt ISALPHA 3 .Os .Sh NAME @@ -73,6 +73,15 @@ In the ASCII character set, this include .It "\&164\ ``t'' \t165\ ``u'' \t166\ ``v'' \t167\ ``w'' \t170\ ``x''" .It "\&171\ ``y'' \t172\ ``z''" .El +.Pp +.Em NOTE : +if the value passed to the +.Fn isalpha +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn isalpha Modified: head/lib/libc/locale/isascii.3 ============================================================================== --- head/lib/libc/locale/isascii.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isascii.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -28,7 +28,7 @@ .\" @(#)isascii.3 8.2 (Berkeley) 12/11/93 .\" $FreeBSD$ .\" -.Dd October 6, 2002 +.Dd September 3, 2009 .Dt ISASCII 3 .Os .Sh NAME @@ -47,6 +47,15 @@ function tests for an .Tn ASCII character, which is any character between 0 and octal 0177 inclusive. +.Pp +.Em NOTE : +if the value passed to the +.Fn isascii +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh SEE ALSO .Xr ctype 3 , .Xr iswascii 3 , Modified: head/lib/libc/locale/isblank.3 ============================================================================== --- head/lib/libc/locale/isblank.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isblank.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -28,7 +28,7 @@ .\" @(#)isblank.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd July 17, 2005 +.Dd September 3, 2009 .Dt ISBLANK 3 .Os .Sh NAME @@ -57,6 +57,15 @@ The value of the argument must be repres .Vt "unsigned char" or the value of .Dv EOF . +.Pp +.Em NOTE : +if the value passed to the +.Fn isblank +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn isblank Modified: head/lib/libc/locale/iscntrl.3 ============================================================================== --- head/lib/libc/locale/iscntrl.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/iscntrl.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -32,7 +32,7 @@ .\" @(#)iscntrl.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd July 17, 2005 +.Dd September 3, 2009 .Dt ISCNTRL 3 .Os .Sh NAME @@ -65,6 +65,15 @@ In the ASCII character set, this include .It "\&031\ EM \t032\ SUB \t033\ ESC \t034\ FS \t035\ GS" .It "\&036\ RS \t037\ US \t177\ DEL" .El +.Pp +.Em NOTE : +if the value passed to the +.Fn iscntrl +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn iscntrl Modified: head/lib/libc/locale/isdigit.3 ============================================================================== --- head/lib/libc/locale/isdigit.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isdigit.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -32,7 +32,7 @@ .\" @(#)isdigit.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd May 4, 2007 +.Dd September 3, 2009 .Dt ISDIGIT 3 .Os .Sh NAME @@ -68,6 +68,15 @@ The value of the argument must be repres .Vt "unsigned char" or the value of .Dv EOF . +.Pp +.Em NOTE : +if the value passed to the +.Fn isdigit +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn isdigit Modified: head/lib/libc/locale/isgraph.3 ============================================================================== --- head/lib/libc/locale/isgraph.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isgraph.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -32,7 +32,7 @@ .\" @(#)isgraph.3 8.2 (Berkeley) 12/11/93 .\" $FreeBSD$ .\" -.Dd July 17, 2005 +.Dd September 3, 2009 .Dt ISGRAPH 3 .Os .Sh NAME @@ -80,6 +80,15 @@ In the ASCII character set, this include .It "\&166\ ``v'' \t167\ ``w'' \t170\ ``x'' \t171\ ``y'' \t172\ ``z''" .It "\&173\ ``{'' \t174\ ``|'' \t175\ ``}'' \t176\ ``~''" .El +.Pp +.Em NOTE : +if the value passed to the +.Fn isgraph +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn isgraph Modified: head/lib/libc/locale/isideogram.3 ============================================================================== --- head/lib/libc/locale/isideogram.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isideogram.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 30, 2004 +.Dd September 3, 2009 .Dt ISIDEOGRAM 3 .Os .Sh NAME @@ -41,6 +41,15 @@ The .Fn isideogram function tests for an ideographic character. +.Pp +.Em NOTE : +if the value passed to the +.Fn isideogram +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn isideogram Modified: head/lib/libc/locale/islower.3 ============================================================================== --- head/lib/libc/locale/islower.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/islower.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -32,7 +32,7 @@ .\" @(#)islower.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd July 17, 2005 +.Dd September 3, 2009 .Dt ISLOWER 3 .Os .Sh NAME @@ -64,6 +64,15 @@ In the ASCII character set, this include .It "\&165\ ``u'' \t166\ ``v'' \t167\ ``w'' \t170\ ``x'' \t171\ ``y''" .It "\&172\ ``z''" .El +.Pp +.Em NOTE : +if the value passed to the +.Fn islower +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn islower Modified: head/lib/libc/locale/isphonogram.3 ============================================================================== --- head/lib/libc/locale/isphonogram.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isphonogram.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 30, 2004 +.Dd September 3, 2009 .Dt ISPHONOGRAM 3 .Os .Sh NAME @@ -41,6 +41,15 @@ The .Fn isphonogram function tests for a phonographic character. +.Pp +.Em NOTE : +if the value passed to the +.Fn isphonogram +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn isphonogram Modified: head/lib/libc/locale/isprint.3 ============================================================================== --- head/lib/libc/locale/isprint.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isprint.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -32,7 +32,7 @@ .\" @(#)isprint.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd July 17, 2005 +.Dd September 3, 2009 .Dt ISPRINT 3 .Os .Sh NAME @@ -78,6 +78,15 @@ In the ASCII character set, this include .It "\&165\ ``u'' \t166\ ``v'' \t167\ ``w'' \t170\ ``x'' \t171\ ``y''" .It "\&172\ ``z'' \t173\ ``{'' \t174\ ``|'' \t175\ ``}'' \t176\ ``~''" .El +.Pp +.Em NOTE : +if the value passed to the +.Fn isprint +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn isprint Modified: head/lib/libc/locale/ispunct.3 ============================================================================== --- head/lib/libc/locale/ispunct.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/ispunct.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -32,7 +32,7 @@ .\" @(#)ispunct.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd July 17, 2005 +.Dd September 3, 2009 .Dt ISPUNCT 3 .Os .Sh NAME @@ -70,6 +70,15 @@ In the ASCII character set, this include .It "\&136\ ``^'' \t137\ ``_'' \t140\ ```'' \t173\ ``{'' \t174\ ``|''" .It "\&175\ ``}'' \t176\ ``~''" .El +.Pp +.Em NOTE : +if the value passed to the +.Fn ispunct +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn ispunct Modified: head/lib/libc/locale/isrune.3 ============================================================================== --- head/lib/libc/locale/isrune.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isrune.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 30, 2004 +.Dd September 3, 2009 .Dt ISRUNE 3 .Os .Sh NAME @@ -46,6 +46,15 @@ In the .Tn ASCII character set, this is equivalent to .Fn isascii . +.Pp +.Em NOTE : +if the value passed to the +.Fn isrune +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn isrune Modified: head/lib/libc/locale/isspace.3 ============================================================================== --- head/lib/libc/locale/isspace.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isspace.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -32,7 +32,7 @@ .\" @(#)isspace.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd July 17, 2005 +.Dd September 3, 2009 .Dt ISSPACE 3 .Os .Sh NAME @@ -61,6 +61,15 @@ The value of the argument must be repres .Vt "unsigned char" or the value of .Dv EOF . +.Pp +.Em NOTE : +if the value passed to the +.Fn isspace +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn isspace Modified: head/lib/libc/locale/isspecial.3 ============================================================================== --- head/lib/libc/locale/isspecial.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isspecial.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 30, 2004 +.Dd September 3, 2009 .Dt ISSPECIAL 3 .Os .Sh NAME @@ -41,6 +41,15 @@ The .Fn isspecial function tests for a special character. +.Pp +.Em NOTE : +if the value passed to the +.Fn isspecial +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn isspecial Modified: head/lib/libc/locale/isupper.3 ============================================================================== --- head/lib/libc/locale/isupper.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isupper.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -32,7 +32,7 @@ .\" @(#)isupper.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd July 17, 2005 +.Dd September 3, 2009 .Dt ISUPPER 3 .Os .Sh NAME @@ -64,6 +64,15 @@ In the ASCII character set, this include .It "\&125\ ``U'' \t126\ ``V'' \t127\ ``W'' \t130\ ``X'' \t131\ ``Y''" .It "\&132\ ``Z''" .El +.Pp +.Em NOTE : +if the value passed to the +.Fn isupper +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn isupper Modified: head/lib/libc/locale/isxdigit.3 ============================================================================== --- head/lib/libc/locale/isxdigit.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/isxdigit.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -32,7 +32,7 @@ .\" @(#)isxdigit.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd July 17, 2005 +.Dd September 3, 2009 .Dt ISXDIGIT 3 .Os .Sh NAME @@ -71,6 +71,15 @@ The value of the argument must be repres .Vt "unsigned char" or the value of .Dv EOF . +.Pp +.Em NOTE : +if the value passed to the +.Fn isxdigit +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn isxdigit Modified: head/lib/libc/locale/toascii.3 ============================================================================== --- head/lib/libc/locale/toascii.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/toascii.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -28,7 +28,7 @@ .\" @(#)toascii.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd June 4, 1993 +.Dd September 3, 2009 .Dt TOASCII 3 .Os .Sh NAME @@ -45,6 +45,15 @@ The .Fn toascii function strips all but the low 7 bits from a letter, including parity or other marker bits. +.Pp +.Em NOTE : +if the value passed to the +.Fn toascii +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES The .Fn toascii Modified: head/lib/libc/locale/tolower.3 ============================================================================== --- head/lib/libc/locale/tolower.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/tolower.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -32,7 +32,7 @@ .\" @(#)tolower.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd July 17, 2005 +.Dd September 3, 2009 .Dt TOLOWER 3 .Os .Sh NAME @@ -53,6 +53,15 @@ The argument must be representable as an .Vt "unsigned char" or the value of .Dv EOF . +.Pp +.Em NOTE : +if the value passed to the +.Fn tolower +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES If the argument is an upper-case letter, the .Fn tolower Modified: head/lib/libc/locale/toupper.3 ============================================================================== --- head/lib/libc/locale/toupper.3 Thu Sep 3 09:33:57 2009 (r196775) +++ head/lib/libc/locale/toupper.3 Thu Sep 3 10:06:37 2009 (r196776) @@ -32,7 +32,7 @@ .\" @(#)toupper.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd July 17, 2005 +.Dd September 3, 2009 .Dt TOUPPER 3 .Os .Sh NAME @@ -53,6 +53,15 @@ The argument must be representable as an .Vt "unsigned char" or the value of .Dv EOF . +.Pp +.Em NOTE : +if the value passed to the +.Fn toupper +function is a +.Vt signed char , +as is usually the case, it must be cast to an +.Vt unsigned char +to avoid sign-extension errors. .Sh RETURN VALUES If the argument is a lower-case letter, the .Fn toupper
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909031006.n83A6bMZ022789>