Enforce policy: don't use *scanf functions.
authorJim Meyering <jim@meyering.net>
Thu, 15 Mar 2007 08:19:10 +0000 (09:19 +0100)
committerJim Meyering <jim@meyering.net>
Thu, 15 Mar 2007 08:19:10 +0000 (09:19 +0100)
* Makefile.maint (sc_prohibit_atoi_atof): Add to regexp and diagnostic.
* .x-sc_prohibit_atoi_atof: Give stty a temporary pass.
* TODO: note that stty.c needs this small clean-up.

.x-sc_prohibit_atoi_atof
ChangeLog
Makefile.maint
TODO

index 3aaffb2..a0d15ba 100644 (file)
@@ -6,3 +6,5 @@ ChangeLog
 ^lib/euidaccess-stat\.c$
 ^lib/group-member\.c$
 ^Makefile\.maint$
+^doc/coreutils.texi$
+^src/stty.c$
index 05bf2c8..2803f3f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-03-15  Jim Meyering  <jim@meyering.net>
+
+       Enforce policy: don't use *scanf functions.
+       * Makefile.maint (sc_prohibit_atoi_atof): Add to regexp and diagnostic.
+       * .x-sc_prohibit_atoi_atof: Give stty a temporary pass.
+       * TODO: note that stty.c needs this small clean-up.
+
 2007-03-13  Jim Meyering  <jim@meyering.net>
 
        Prepare to work on ACL-related failure when using Solaris ZFS.
index c1da0d5..1c9d697 100644 (file)
@@ -117,12 +117,12 @@ sc_space_tab:
          { echo '$(ME): found SPACE-TAB sequence; remove the SPACE'    \
                1>&2; exit 1; } || :
 
-# Don't use the old ato* functions in `real' code.
+# Don't use *scanf or the old ato* functions in `real' code.
 # They provide no error checking mechanism.
 # Instead, use strto* functions.
 sc_prohibit_atoi_atof:
-       @grep -nE '\<ato([filq]|ll)\>' $$($(CVS_LIST_EXCEPT)) &&        \
-         { echo '$(ME): do not use ato''f, ato''i, ato''l, ato''ll, or ato''q' \
+       @grep -nE '\<([fs]?scanf|ato([filq]|ll))\>' $$($(CVS_LIST_EXCEPT)) && \
+         { echo '$(ME): do not use *scan''f, ato''f, ato''i, ato''l, ato''ll, or ato''q'       \
                1>&2; exit 1; } || :
 
 # Using EXIT_SUCCESS as the first argument to error is misleading,
diff --git a/TODO b/TODO
index 61fe29c..0e62630 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,3 +1,6 @@
+stty.c:
+  use xstrtoul, not sscanf
+
 printf:
   Now that gnulib supports *printf("%a"), import one of the
   *printf-posix modules so that printf(1) will support %a even on