]> git.saurik.com Git - bison.git/commitdiff
Pacify -DGNULIB_POSIXCHECK.
authorJoel E. Denny <joeldenny@joeldenny.org>
Sun, 1 May 2011 16:25:31 +0000 (12:25 -0400)
committerJoel E. Denny <joeldenny@joeldenny.org>
Sun, 1 May 2011 21:35:52 +0000 (17:35 -0400)
* bootstrap.conf (gnulib_modules): Add all modules suggested by
-DGNULIB_POSIXCHECK.
* src/files.c (file_name_split)
* src/getargs.c (getargs)
* src/location.c (boundary_set_from_string)
* src/output.c (token_definitions_output, output_skeleton)
* src/parse-gram.y (prologue_declaration)
* src/scan-gram.l (handle_syncline)
* src/symtab.c (symbol_new): Use mbschr and mbsrchr instead of
strchr and strrchr.  In the cases of command-line options, file
names, and thus locations, functionality may be improved.  In the
case of symbol names, there should be no functional difference as
all characters are ASCII, so the intended benefit is just warning
suppression.

13 files changed:
ChangeLog
bootstrap.conf
lib/.gitignore
m4/.gitignore
src/files.c
src/getargs.c
src/location.c
src/output.c
src/parse-gram.c
src/parse-gram.h
src/parse-gram.y
src/scan-gram.l
src/symtab.c

index d85b7fdaa2bc321e3f736cac3cfe029be0c5d04a..3c846f8032ed79d223d5edea17d55c4320ea515f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Pacify -DGNULIB_POSIXCHECK.
+       * bootstrap.conf (gnulib_modules): Add all modules suggested by
+       -DGNULIB_POSIXCHECK.
+       * src/files.c (file_name_split)
+       * src/getargs.c (getargs)
+       * src/location.c (boundary_set_from_string)
+       * src/output.c (token_definitions_output, output_skeleton)
+       * src/parse-gram.y (prologue_declaration)
+       * src/scan-gram.l (handle_syncline)
+       * src/symtab.c (symbol_new): Use mbschr and mbsrchr instead of
+       strchr and strrchr.  In the cases of command-line options, file
+       names, and thus locations, functionality may be improved.  In the
+       case of symbol names, there should be no functional difference as
+       all characters are ASCII, so the intended benefit is just warning
+       suppression.
+
 2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
 
        * NEWS (2.5): Fix minor typos.
index d5a339992a67377293c238c80471b4539a4193c7..bd274e19537727673eb3f5e61e140b307266405e 100644 (file)
 
 # gnulib modules used by this package.
 gnulib_modules='
-  announce-gen argmatch assert config-h c-strcase configmake dirname
-  error extensions fopen-safer gendocs getopt-gnu gettext
-  git-version-gen hash inttypes javacomp-script javaexec-script
-  maintainer-makefile malloc-gnu mbswidth obstack quote quotearg
-  realloc-posix spawn-pipe stdbool stpcpy strerror strtoul strverscmp unistd
-  unistd-safer unlocked-io update-copyright unsetenv verify warnings
-  xalloc xalloc-die xstrndup
+  announce-gen argmatch assert calloc-posix close config-h c-strcase
+  configmake dirname error extensions fopen-safer gendocs getopt-gnu
+  gettext git-version-gen hash inttypes isnan javacomp-script
+  javaexec-script ldexpl maintainer-makefile malloc-gnu mbschr mbsrchr
+  mbswidth obstack perror pipe-posix quote quotearg realloc-posix
+  spawn-pipe stdbool stpcpy strdup-posix strerror strtoul strverscmp
+  unistd unistd-safer unlocked-io update-copyright unsetenv verify
+  warnings xalloc xalloc-die xstrndup
 
   fprintf-posix printf-posix snprintf-posix sprintf-posix
   vsnprintf-posix vsprintf-posix
index f3d5da64df468e7829e8052a6fa06efc1f5cb377..45e0eb7bb690a9a8d595477d11d5d27fc712b430 100644 (file)
 /c-strcase.h
 /c-strcasecmp.c
 /c-strncasecmp.c
+/calloc.c
 /charset.alias
 /cloexec.c
 /cloexec.h
+/close-hook.c
+/close-hook.h
+/close.c
 /config.charset
 /config.h
 /config.hin
@@ -46,6 +50,7 @@
 /exitfail.h
 /fatal-signal.c
 /fatal-signal.h
+/fclose.c
 /fcntl.c
 /fcntl.h
 /fcntl.in.h
 /isnanf.c
 /isnanl-nolibm.h
 /isnanl.c
+/iswblank.c
+/ldexpl.c
 /localcharset.c
 /localcharset.h
 /malloc.c
 /math.h
 /math.in.h
+/mbchar.c
+/mbchar.h
 /mbrtowc.c
+/mbschr.c
 /mbsinit.c
+/mbsrchr.c
 /mbswidth.c
 /mbswidth.h
+/mbuiter.h
 /memchr.c
 /memchr.valgrind
 /nonblocking.c
 /obstack.c
 /obstack.h
 /open.c
+/perror.c
 /pipe-safer.c
+/pipe.c
 /pipe2-safer.c
 /pipe2.c
 /printf-args.c
 /stpcpy.c
 /strchrnul.c
 /strchrnul.valgrind
+/strdup.c
 /streq.h
 /strerror.c
 /string.h
 /stripslash.c
 /strndup.c
 /strnlen.c
+/strnlen1.c
+/strnlen1.h
 /strtol.c
 /strtoul.c
 /strverscmp.c
index d7a4a8f5d2f01949be7d57981f4d3344f052f5e2..7d812ebc7239b71bcbdb6231ffdd86becc823cc3 100644 (file)
@@ -4,7 +4,9 @@
 /argmatch.m4
 /asm-underscore.m4
 /assert.m4
+/calloc.m4
 /cloexec.m4
+/close.m4
 /codeset.m4
 /config-h.m4
 /configmake.m4
@@ -20,6 +22,7 @@
 /exponentl.m4
 /extensions.m4
 /fatal-signal.m4
+/fclose.m4
 /fcntl-o.m4
 /fcntl.m4
 /fcntl_h.m4
 /inttypes.m4
 /inttypes_h.m4
 /ioctl.m4
+/isnan.m4
 /isnand.m4
 /isnanf.m4
 /isnanl.m4
+/iswblank.m4
 /javacomp.m4
 /javaexec.m4
 /ldexpl.m4
@@ -64,6 +69,8 @@
 /longlong.m4
 /malloc.m4
 /math_h.m4
+/mbchar.m4
+/mbiter.m4
 /mbrtowc.m4
 /mbsinit.m4
 /mbstate_t.m4
@@ -75,6 +82,8 @@
 /nls.m4
 /nocrash.m4
 /open.m4
+/perror.m4
+/pipe.m4
 /pipe2.m4
 /po.m4
 /posix_spawn.m4
 /stdlib_h.m4
 /stpcpy.m4
 /strchrnul.m4
+/strdup.m4
 /strerror.m4
 /string_h.m4
 /strndup.m4
index ba7705308597d9a8094f4e5222abaed31780bc4c..c94d2c6f35c508b0a2db533e2441506059da244c 100644 (file)
@@ -205,7 +205,7 @@ file_name_split (const char *file_name,
   *base = last_component (file_name);
 
   /* Look for the extension, i.e., look for the last dot. */
-  *ext = strrchr (*base, '.');
+  *ext = mbsrchr (*base, '.');
   *tab = NULL;
 
   /* If there is an extension, check if there is a `.tab' part right
index e1298f3ef1a83f9b562316f3490e590c9cc9dfb7..1309b388cdf76c1a15b22507fa53fdb6f866cfd0 100644 (file)
@@ -562,7 +562,7 @@ getargs (int argc, char *argv[])
       case 'F': /* -FNAME[=VALUE]. */
         {
           char* name = optarg;
-          char* value = strchr (optarg, '=');
+          char* value = mbschr (optarg, '=');
           if (value)
             *value++ = 0;
           muscle_percent_define_insert (name, command_line_location (),
index 361418aedb86c666b3a9002745ea07ee67b1c341..8f1b2807bc125f7f09eda69d252745d0080e7776 100644 (file)
@@ -143,11 +143,11 @@ boundary_set_from_string (boundary *bound, char *loc_str)
 {
   /* Must search in reverse since the file name field may
    * contain `.' or `:'.  */
-  char *delim = strrchr (loc_str, '.');
+  char *delim = mbsrchr (loc_str, '.');
   aver (delim);
   *delim = '\0';
   bound->column = atoi (delim+1);
-  delim = strrchr (loc_str, ':');
+  delim = mbsrchr (loc_str, ':');
   aver (delim);
   *delim = '\0';
   bound->line = atoi (delim+1);
index 7f4ca64d2d73a6303ccba59e2b1c834f8c4e3aff..420d137ce229a72a1ddae7610121fc7bb64535f2 100644 (file)
@@ -367,9 +367,9 @@ token_definitions_output (FILE *out)
 
       /* Don't #define nonliteral tokens whose names contain periods,
          dashes or '$' (as does the default value of the EOF token).  */
-      if (strchr (sym->tag, '.')
-          || strchr (sym->tag, '-')
-          || strchr (sym->tag, '$'))
+      if (mbschr (sym->tag, '.')
+          || mbschr (sym->tag, '-')
+          || mbschr (sym->tag, '$'))
        continue;
 
       fprintf (out, "%s[[[%s]], %d]",
@@ -518,7 +518,7 @@ output_skeleton (void)
   full_m4sugar = xstrdup (full_skeleton);
   strcpy (full_skeleton + pkgdatadirlen + 1, m4bison);
   full_m4bison = xstrdup (full_skeleton);
-  if (strchr (skeleton, '/'))
+  if (mbschr (skeleton, '/'))
     strcpy (full_skeleton, skeleton);
   else
     strcpy (full_skeleton + pkgdatadirlen + 1, skeleton);
index ee14f8c6422b79846a65b42e1b92baf28f5d9b60..6d01e0c05fc25fe55f4cb84e2f5827ff46579921 100644 (file)
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 2.4.1.287-8f46.  */
+/* A Bison parser, made by GNU Bison 2.4.1.302-e8fa.  */
 
 /* Bison implementation for Yacc-like parsers in C
    
@@ -44,7 +44,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.4.1.287-8f46"
+#define YYBISON_VERSION "2.4.1.302-e8fa"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -2410,7 +2410,7 @@ yyreduce:
 #line 311 "parse-gram.y"
     {
       char const *skeleton_user = (yyvsp[(2) - (2)].chars);
-      if (strchr (skeleton_user, '/'))
+      if (mbschr (skeleton_user, '/'))
         {
           size_t dir_length = strlen (current_file);
           char *skeleton_build;
index c00f34f86aa92d7a6f3bed02cbf20f359c834f89..0ddca48defc5d109060bc4067dd25e85d33a70c7 100644 (file)
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 2.4.1.287-8f46.  */
+/* A Bison parser, made by GNU Bison 2.4.1.302-e8fa.  */
 
 /* Bison interface for Yacc-like parsers in C
    
index 8c2e18d1102f2be9a71a70d69a4a9433110d627e..7c5ccd854fb147c25320827fc30a29771a94243e 100644 (file)
@@ -310,7 +310,7 @@ prologue_declaration:
 | "%skeleton" STRING
     {
       char const *skeleton_user = $2;
-      if (strchr (skeleton_user, '/'))
+      if (mbschr (skeleton_user, '/'))
         {
           size_t dir_length = strlen (current_file);
           char *skeleton_build;
index 2f264f5f14e1860692a7345ec0b8da14e45d4be7..1995b94156cdb0c73f6064a01c3d405e82618a25 100644 (file)
@@ -848,8 +848,8 @@ handle_syncline (char *args, location loc)
 {
   char *after_num;
   unsigned long int lineno = strtoul (args, &after_num, 10);
-  char *file = strchr (after_num, '"') + 1;
-  *strchr (file, '"') = '\0';
+  char *file = mbschr (after_num, '"') + 1;
+  *mbschr (file, '"') = '\0';
   if (INT_MAX <= lineno)
     {
       warn_at (loc, _("line number overflow"));
index 307af895e1b3bf762485cb5bd4bd66bf2cad2cc7..f9f78b313667e8eac55a85a5b169c753ca71090b 100644 (file)
@@ -68,7 +68,7 @@ symbol_new (uniqstr tag, location loc)
 
   /* If the tag is not a string (starts with a double quote), check
      that it is valid for Yacc. */
-  if (tag[0] != '\"' && tag[0] != '\'' && strchr (tag, '-'))
+  if (tag[0] != '\"' && tag[0] != '\'' && mbschr (tag, '-'))
     yacc_at (loc, _("POSIX Yacc forbids dashes in symbol names: %s"),
              tag);