changeset 30263:1e0d911b94f2

Add a comment.
author Bruno Haible <bruno@clisp.org>
date Fri, 03 Oct 2008 14:04:31 +0200
parents 7888f228b935
children a1abe7f158c1
files ChangeLog lib/c-ctype.h
diffstat 2 files changed, 21 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Oct 02 12:24:27 2008 +0200
+++ b/ChangeLog	Fri Oct 03 14:04:31 2008 +0200
@@ -1,3 +1,8 @@
+2008-10-03  Bruno Haible  <bruno@clisp.org>
+
+	* lib/c-ctype.h: Add comment.
+	Reported by Jim Meyering.
+
 2008-10-02  Bruno Haible  <bruno@clisp.org>
 
 	* modules/posix_spawn-internal (Depends-on): Add 'open'.
--- a/lib/c-ctype.h	Thu Oct 02 12:24:27 2008 +0200
+++ b/lib/c-ctype.h	Fri Oct 03 14:04:31 2008 +0200
@@ -5,7 +5,7 @@
    <ctype.h> functions' behaviour depends on the current locale set via
    setlocale.
 
-   Copyright (C) 2000-2003, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2006, 2008 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -103,6 +103,21 @@
 
 /* Function declarations. */
 
+/* Unlike the functions in <ctype.h>, which require an argument in the range
+   of the 'unsigned char' type, the functions here operate on values that are
+   in the 'unsigned char' range or in the 'char' range.  In other words,
+   when you have a 'char' value, you need to cast it before using it as
+   argument to a <ctype.h> function:
+
+         const char *s = ...;
+         if (isalpha ((unsigned char) *s)) ...
+
+   but you don't need to cast it for the functions defined in this file:
+
+         const char *s = ...;
+         if (c_isalpha (*s)) ...
+ */
+
 extern bool c_isascii (int c); /* not locale dependent */
 
 extern bool c_isalnum (int c);