* src/base64.c (main): Likewise.
* src/install.c (setdefaultfilecon): Likewise.
* src/sort.c (main): Likewise.
* Makefile.maint (sc_prohibit_strcmp): New rule.
* .x-sc_prohibit_strcmp: New file, to list the few exceptions.
* Makefile.am (EXTRA_DIST): Add .x-sc_prohibit_strcmp.
--- /dev/null
+^src/system\.h
+ChangeLog
+2007-06-23 Jim Meyering <jim@meyering.net>
+
+ Prefer "STREQ (a, b)" over "strcmp (a, b) == 0"; similar for != 0.
+ * src/base64.c (main): Likewise.
+ * src/install.c (setdefaultfilecon): Likewise.
+ * src/sort.c (main): Likewise.
+ * Makefile.maint (sc_prohibit_strcmp): New rule.
+ * .x-sc_prohibit_strcmp: New file, to list the few exceptions.
+ * Makefile.am (EXTRA_DIST): Add .x-sc_prohibit_strcmp.
+
2007-06-22 Paul Eggert <eggert@cs.ucla.edu>
* NEWS: seq no longer mishandles obvious cases like
.x-po-check \
.x-sc_file_system .x-sc_obsolete_symbols \
.x-sc_prohibit_atoi_atof \
+ .x-sc_prohibit_strcmp \
.x-sc_require_config_h \
.x-sc_space_tab .x-sc_sun_os_names \
.x-sc_trailing_blank \
{ echo '$(ME): do not use *scan''f, ato''f, ato''i, ato''l, ato''ll, ato''q, or ss''canf' \
1>&2; exit 1; } || :
+# Use STREQ rather than comparing strcmp == 0, or != 0.
+sc_prohibit_strcmp:
+ @grep -nE '! *str''cmp \(|\<str''cmp \([^)]+\) *==' \
+ $$($(CVS_LIST_EXCEPT)) && \
+ { echo '$(ME): use STREQ in place of the above uses of str''cmp' \
+ 1>&2; exit 1; } || :
+
# Using EXIT_SUCCESS as the first argument to error is misleading,
# since when that parameter is 0, error does not exit. Use `0' instead.
sc_error_exit_success:
else
infile = "-";
- if (strcmp (infile, "-") == 0)
+ if (STREQ (infile, "-"))
input_fh = stdin;
else
{
if (fclose (input_fh) == EOF)
{
- if (strcmp (infile, "-") == 0)
+ if (STREQ (infile, "-"))
error (EXIT_FAILURE, errno, _("closing standard input"));
else
error (EXIT_FAILURE, errno, "%s", infile);
/* If there's an error determining the context, or it has none,
return to allow default context */
if ((matchpathcon (file, st.st_mode, &scontext) != 0) ||
- (strcmp (scontext, "<<none>>") == 0))
+ STREQ (scontext, "<<none>>"))
{
if (scontext != NULL)
freecon (scontext);
break;
case COMPRESS_PROGRAM_OPTION:
- if (compress_program && strcmp (compress_program, optarg) != 0)
+ if (compress_program && !STREQ (compress_program, optarg))
error (SORT_FAILURE, 0, _("multiple compress programs specified"));
compress_program = optarg;
break;