add "const" attribute, where possible
authorJim Meyering <meyering@redhat.com>
Thu, 12 Jun 2008 20:06:15 +0000 (22:06 +0200)
committerJim Meyering <meyering@redhat.com>
Sat, 14 Jun 2008 20:24:28 +0000 (22:24 +0200)
* maint.mk (sc_const_long_option): New rule.  Enforce global change.
* src/base64.c (long_options): Use "const" where possible.
* src/cat.c (main): Likewise.
* src/chcon.c (long_options): Likewise.
* src/chgrp.c (long_options): Likewise.
* src/chmod.c (long_options): Likewise.
* src/chown.c (long_options): Likewise.
* src/comm.c (long_options, OUTPUT_DELIMITER_OPTION): Likewise.
* src/cp.c (long_opts): Likewise.
* src/csplit.c (longopts): Likewise.
* src/cut.c (longopts): Likewise.
* src/date.c (long_options): Likewise.
* src/dd.c (conversions, flags, statuses): Likewise.
* src/df.c (long_options): Likewise.
* src/dircolors.c (long_options): Likewise.
* src/du.c (long_options): Likewise.
* src/env.c (longopts): Likewise.
* src/expand.c (longopts): Likewise.
* src/fmt.c (long_options): Likewise.
* src/fold.c (longopts): Likewise.
* src/groups.c (longopts): Likewise.
* src/head.c (long_options): Likewise.
* src/id.c (longopts): Likewise.
* src/install.c (long_options): Likewise.
* src/join.c (longopts): Likewise.
* src/kill.c (long_options): Likewise.
* src/ln.c (long_options): Likewise.
* src/ls.c (long_time_format, long_options, sort_functions): Likewise.
* src/md5sum.c (long_options): Likewise.
* src/mkdir.c (longopts): Likewise.
* src/mkfifo.c (longopts): Likewise.
* src/mknod.c (longopts): Likewise.
* src/mktemp.c (longopts): Likewise.
* src/mv.c (long_options): Likewise.
* src/nice.c (longopts): Likewise.
* src/nl.c (longopts): Likewise.
* src/od.c (charname, long_options): Likewise.
* src/paste.c (longopts): Likewise.
* src/pathchk.c (longopts): Likewise.
* src/pinky.c (longopts): Likewise.
* src/pr.c (long_options): Likewise.
* src/ptx.c (long_options): Likewise.
* src/readlink.c (longopts): Likewise.
* src/rm.c (long_opts): Likewise.
* src/rmdir.c (longopts): Likewise.
* src/runcon.c (long_options): Likewise.
* src/seq.c (long_options): Likewise.
* src/shred.c (long_opts): Likewise.
* src/shuf.c (long_opts): Likewise.
* src/sort.c (monthtab, long_options): Likewise.
* src/split.c (longopts): Likewise.
* src/stat.c (long_options): Likewise.
* src/stty.c (mode_info, control_info, longopts, set_mode) Likewise.
(set_control_char, speeds): Likewise.
* src/su.c (longopts): Likewise.
* src/sum.c (longopts): Likewise.
* src/tac.c (longopts): Likewise.
* src/tail.c (long_options): Likewise.
* src/tee.c (long_options): Likewise.
* src/timeout.c (long_options): Likewise.
* src/touch.c (longopts): Likewise.
* src/tr.c (long_options): Likewise.
* src/truncate.c (longopts): Likewise.
* src/tty.c (longopts): Likewise.
* src/uname.c (uname_long_options, arch_long_options): Likewise.
* src/unexpand.c (longopts): Likewise.
* src/uniq.c (longopts): Likewise.
* src/wc.c (longopts): Likewise.
* src/who.c (longopts): Likewise.

68 files changed:
maint.mk
src/base64.c
src/cat.c
src/chcon.c
src/chgrp.c
src/chmod.c
src/chown.c
src/comm.c
src/cp.c
src/csplit.c
src/cut.c
src/date.c
src/dd.c
src/df.c
src/dircolors.c
src/du.c
src/env.c
src/expand.c
src/fmt.c
src/fold.c
src/groups.c
src/head.c
src/id.c
src/install.c
src/join.c
src/kill.c
src/ln.c
src/ls.c
src/md5sum.c
src/mkdir.c
src/mkfifo.c
src/mknod.c
src/mktemp.c
src/mv.c
src/nice.c
src/nl.c
src/od.c
src/paste.c
src/pathchk.c
src/pinky.c
src/pr.c
src/ptx.c
src/readlink.c
src/rm.c
src/rmdir.c
src/runcon.c
src/seq.c
src/shred.c
src/shuf.c
src/sort.c
src/split.c
src/stat.c
src/stty.c
src/su.c
src/sum.c
src/tac.c
src/tail.c
src/tee.c
src/timeout.c
src/touch.c
src/tr.c
src/truncate.c
src/tty.c
src/uname.c
src/unexpand.c
src/uniq.c
src/wc.c
src/who.c

index 7f86349..6c21082 100644 (file)
--- a/maint.mk
+++ b/maint.mk
@@ -483,6 +483,12 @@ sc_proper_name_utf8_requires_ICONV:
              exit 1; } || :;                                           \
        fi
 
+sc_const_long_option:
+       @grep '^ *static.*struct option ' $$($(VC_LIST_EXCEPT))         \
+         | grep -v 'const struct option const' && {                    \
+             echo 1>&2 '$(ME): add "const" to the above declarations'; \
+             exit 1; } || :
+
 # Update the hash stored above.  Do this after each release and
 # for any corrections to old entries.
 update-NEWS-hash: NEWS
index 3e66c12..e5c16e4 100644 (file)
@@ -37,7 +37,8 @@
 
 #define AUTHORS proper_name ("Simon Josefsson")
 
-static const struct option long_options[] = {
+static const struct option const long_options[] =
+{
   {"decode", no_argument, 0, 'd'},
   {"wrap", required_argument, 0, 'w'},
   {"ignore-garbage", no_argument, 0, 'i'},
index d762f45..75d30d0 100644 (file)
--- a/src/cat.c
+++ b/src/cat.c
@@ -547,7 +547,7 @@ main (int argc, char **argv)
   bool show_tabs = false;
   int file_open_mode = O_RDONLY;
 
-  static struct option const long_options[] =
+  static const struct option const long_options[] =
   {
     {"number-nonblank", no_argument, NULL, 'b'},
     {"number", no_argument, NULL, 'n'},
index 659664e..a043413 100644 (file)
@@ -88,7 +88,7 @@ enum
   REFERENCE_FILE_OPTION
 };
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"recursive", no_argument, NULL, 'R'},
   {"dereference", no_argument, NULL, DEREFERENCE_OPTION},
index db83c59..206d9bb 100644 (file)
@@ -56,7 +56,7 @@ enum
   REFERENCE_FILE_OPTION
 };
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"recursive", no_argument, NULL, 'R'},
   {"changes", no_argument, NULL, 'c'},
index 80fc363..8f8d8a5 100644 (file)
@@ -91,7 +91,7 @@ enum
   REFERENCE_FILE_OPTION
 };
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"changes", no_argument, NULL, 'c'},
   {"recursive", no_argument, NULL, 'R'},
index e5740d2..218aae0 100644 (file)
@@ -62,7 +62,7 @@ enum
   REFERENCE_FILE_OPTION
 };
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"recursive", no_argument, NULL, 'R'},
   {"changes", no_argument, NULL, 'c'},
index 2bf8761..c855a33 100644 (file)
@@ -79,8 +79,7 @@ enum
   OUTPUT_DELIMITER_OPTION
 };
 
-
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"check-order", no_argument, NULL, CHECK_ORDER_OPTION},
   {"nocheck-order", no_argument, NULL, NOCHECK_ORDER_OPTION},
index c768d1b..c365717 100644 (file)
--- a/src/cp.c
+++ b/src/cp.c
@@ -120,7 +120,7 @@ static int const reply_vals[] =
 };
 ARGMATCH_VERIFY (reply_args, reply_vals);
 
-static struct option const long_opts[] =
+static const struct option const long_opts[] =
 {
   {"archive", no_argument, NULL, 'a'},
   {"backup", optional_argument, NULL, 'b'},
index 7e63ca8..26874c1 100644 (file)
@@ -192,7 +192,7 @@ static size_t control_used;
 /* The set of signals that are caught.  */
 static sigset_t caught_signals;
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"digits", required_argument, NULL, 'n'},
   {"quiet", no_argument, NULL, 'q'},
index 0e151fd..5a8745c 100644 (file)
--- a/src/cut.c
+++ b/src/cut.c
@@ -164,7 +164,7 @@ enum
   COMPLEMENT_OPTION
 };
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"bytes", required_argument, NULL, 'b'},
   {"characters", required_argument, NULL, 'c'},
index 2439052..4c575b1 100644 (file)
@@ -86,7 +86,7 @@ enum
 
 static char const short_options[] = "d:f:I::r:Rs:u";
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"date", required_argument, NULL, 'd'},
   {"file", required_argument, NULL, 'f'},
index ead9574..d811d24 100644 (file)
--- a/src/dd.c
+++ b/src/dd.c
@@ -236,7 +236,7 @@ struct symbol_value
 };
 
 /* Conversion symbols, for conv="...".  */
-static struct symbol_value const conversions[] =
+static const struct symbol_value const conversions[] =
 {
   {"ascii", C_ASCII | C_TWOBUFS},      /* EBCDIC to ASCII. */
   {"ebcdic", C_EBCDIC | C_TWOBUFS},    /* ASCII to EBCDIC. */
@@ -257,7 +257,7 @@ static struct symbol_value const conversions[] =
 };
 
 /* Flags, for iflag="..." and oflag="...".  */
-static struct symbol_value const flags[] =
+static const struct symbol_value const flags[] =
 {
   {"append",   O_APPEND},
   {"binary",   O_BINARY},
@@ -275,7 +275,7 @@ static struct symbol_value const flags[] =
 };
 
 /* Status, for status="...".  */
-static struct symbol_value const statuses[] =
+static const struct symbol_value const statuses[] =
 {
   {"noxfer",   STATUS_NOXFER},
   {"",         0}
index 66e9207..7212962 100644 (file)
--- a/src/df.c
+++ b/src/df.c
@@ -117,7 +117,7 @@ enum
   SYNC_OPTION
 };
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"all", no_argument, NULL, 'a'},
   {"block-size", required_argument, NULL, 'B'},
index 56194f7..73e6490 100644 (file)
@@ -75,7 +75,7 @@ static const char *const ls_codes[] =
 #define array_len(Array) (sizeof (Array) / sizeof *(Array))
 verify (array_len (slack_codes) == array_len (ls_codes));
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
   {
     {"bourne-shell", no_argument, NULL, 'b'},
     {"sh", no_argument, NULL, 'b'},
index d974991..ebb8414 100644 (file)
--- a/src/du.c
+++ b/src/du.c
@@ -200,7 +200,7 @@ enum
   TIME_STYLE_OPTION
 };
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"all", no_argument, NULL, 'a'},
   {"apparent-size", no_argument, NULL, APPARENT_SIZE_OPTION},
index 67e411f..5baac0f 100644 (file)
--- a/src/env.c
+++ b/src/env.c
@@ -96,7 +96,7 @@ int putenv ();
 
 extern char **environ;
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"ignore-environment", no_argument, NULL, 'i'},
   {"unset", required_argument, NULL, 'u'},
index 8efb81b..ae70737 100644 (file)
@@ -87,7 +87,7 @@ static int exit_status;
 
 static char const shortopts[] = "it:0::1::2::3::4::5::6::7::8::9::";
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"tabs", required_argument, NULL, 't'},
   {"initial", no_argument, NULL, 'i'},
index 708e60b..4df86d9 100644 (file)
--- a/src/fmt.c
+++ b/src/fmt.c
@@ -300,7 +300,7 @@ With no FILE, or when FILE is -, read standard input.\n"),
 
 /* Decode options and launch execution.  */
 
-static const struct option long_options[] =
+static const struct option const long_options[] =
 {
   {"crown-margin", no_argument, NULL, 'c'},
   {"prefix", required_argument, NULL, 'p'},
index 57ff123..eb97753 100644 (file)
@@ -45,7 +45,7 @@ static bool have_read_stdin;
 
 static char const shortopts[] = "bsw:0::1::2::3::4::5::6::7::8::9::";
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"bytes", no_argument, NULL, 'b'},
   {"spaces", no_argument, NULL, 's'},
index ef96400..65873f9 100644 (file)
@@ -37,7 +37,7 @@
   proper_name ("James Youngman")
 
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {GETOPT_HELP_OPTION_DECL},
   {GETOPT_VERSION_OPTION_DECL},
index 7a0e2ad..798dcae 100644 (file)
@@ -82,7 +82,7 @@ enum
   PRESUME_INPUT_PIPE_OPTION = CHAR_MAX + 1
 };
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"bytes", required_argument, NULL, 'c'},
   {"lines", required_argument, NULL, 'n'},
index 14b558d..8977a65 100644 (file)
--- a/src/id.c
+++ b/src/id.c
@@ -58,7 +58,7 @@ static bool ok = true;
    knows when `context' has not been set to a meaningful value.  */
 static security_context_t context = NULL;
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"context", no_argument, NULL, 'Z'},
   {"group", no_argument, NULL, 'g'},
index 0d3927d..8133b56 100644 (file)
@@ -138,7 +138,7 @@ enum
   PRESERVE_CONTEXT_OPTION = CHAR_MAX + 1
 };
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"backup", optional_argument, NULL, 'b'},
   {GETOPT_SELINUX_CONTEXT_OPTION_DECL},
index 4c506d1..c89fe8f 100644 (file)
@@ -130,7 +130,7 @@ enum
 };
 
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"ignore-case", no_argument, NULL, 'i'},
   {"check-order", no_argument, NULL, CHECK_ORDER_OPTION},
index 1fd4958..f29b12f 100644 (file)
@@ -66,7 +66,7 @@ static char const short_options[] =
   "N::O::P::Q::R::S::T::U::V::W::X::Y::Z::"
   "ln:s:t";
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"list", no_argument, NULL, 'l'},
   {"signal", required_argument, NULL, 's'},
index 2dc5628..52763ff 100644 (file)
--- a/src/ln.c
+++ b/src/ln.c
@@ -93,7 +93,7 @@ static Hash_table *dest_set;
 /* Initial size of the dest_set hash table.  */
 enum { DEST_INFO_INITIAL_CAPACITY = 61 };
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"backup", optional_argument, NULL, 'b'},
   {"directory", no_argument, NULL, 'F'},
index 600d7a5..efdab88 100644 (file)
--- a/src/ls.c
+++ b/src/ls.c
@@ -672,7 +672,7 @@ enum { TIME_STAMP_LEN_MAXIMUM = MAX (1000, INT_STRLEN_BOUND (time_t)) };
 /* strftime formats for non-recent and recent files, respectively, in
    -l output.  */
 
-static char const *long_time_format[2] =
+static const char const *long_time_format[2] =
   {
     /* strftime format for non-recent files (older than 6 months), in
        -l output.  This should contain the year, month and day (at
@@ -741,7 +741,7 @@ enum
   TIME_STYLE_OPTION
 };
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"all", no_argument, NULL, 'a'},
   {"escape", no_argument, NULL, 'b'},
@@ -3151,7 +3151,7 @@ static int rev_xstrcoll_df_version (V a, V b)
     }                                                               \
   }
 
-static qsortFunc sort_functions[][2][2][2] =
+static const qsortFunc const sort_functions[][2][2][2] =
   {
     LIST_SORTFUNCTION_VARIANTS (name),
     LIST_SORTFUNCTION_VARIANTS (extension),
index dcafe97..bc708dc 100644 (file)
@@ -128,7 +128,7 @@ enum
   QUIET_OPTION
 };
 
-static const struct option long_options[] =
+static const struct option const long_options[] =
 {
   { "binary", no_argument, NULL, 'b' },
   { "check", no_argument, NULL, 'c' },
index 9644f4c..7cb0374 100644 (file)
@@ -36,7 +36,7 @@
 
 #define AUTHORS proper_name ("David MacKenzie")
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {GETOPT_SELINUX_CONTEXT_OPTION_DECL},
   {"mode", required_argument, NULL, 'm'},
index d0d2c45..b77cfba 100644 (file)
@@ -32,7 +32,7 @@
 
 #define AUTHORS proper_name ("David MacKenzie")
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {GETOPT_SELINUX_CONTEXT_OPTION_DECL},
   {"mode", required_argument, NULL, 'm'},
index d93e2cb..f5c5990 100644 (file)
@@ -33,7 +33,7 @@
 
 #define AUTHORS proper_name ("David MacKenzie")
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {GETOPT_SELINUX_CONTEXT_OPTION_DECL},
   {"mode", required_argument, NULL, 'm'},
index 8a09231..2821c8c 100644 (file)
@@ -42,7 +42,7 @@ enum
   TMPDIR_OPTION = CHAR_MAX + 1
 };
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"directory", no_argument, NULL, 'd'},
   {"quiet", no_argument, NULL, 'q'},
index fc255f3..d58216c 100644 (file)
--- a/src/mv.c
+++ b/src/mv.c
@@ -71,7 +71,7 @@ static int const reply_vals[] =
   I_ALWAYS_YES, I_ALWAYS_NO, I_ASK_USER
 };
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"backup", optional_argument, NULL, 'b'},
   {"force", no_argument, NULL, 'f'},
index 13033ec..278005f 100644 (file)
@@ -55,7 +55,7 @@
 # define NZERO 20
 #endif
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"adjustment", required_argument, NULL, 'n'},
   {NULL, 0, NULL, 0}
index ddd0fcf..0d2c5ea 100644 (file)
--- a/src/nl.c
+++ b/src/nl.c
@@ -144,7 +144,7 @@ static intmax_t line_no;
 /* True if we have ever read standard input.  */
 static bool have_read_stdin;
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"header-numbering", required_argument, NULL, 'h'},
   {"body-numbering", required_argument, NULL, 'b'},
index 5b4b7bd..dec9dec 100644 (file)
--- a/src/od.c
+++ b/src/od.c
@@ -174,7 +174,7 @@ static const int width_bytes[] =
 verify (sizeof width_bytes / sizeof width_bytes[0] == N_SIZE_SPECS);
 
 /* Names for some non-printing characters.  */
-static char const charname[33][4] =
+static const char const charname[33][4] =
 {
   "nul", "soh", "stx", "etx", "eot", "enq", "ack", "bel",
   "bs", "ht", "nl", "vt", "ff", "cr", "so", "si",
@@ -281,7 +281,7 @@ enum
   TRADITIONAL_OPTION = CHAR_MAX + 1
 };
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"skip-bytes", required_argument, NULL, 'j'},
   {"address-radix", required_argument, NULL, 'A'},
index 9dee94a..a40bee5 100644 (file)
@@ -67,7 +67,7 @@ static char *delims;
 /* A pointer to the character after the end of `delims'. */
 static char const *delim_end;
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"serial", no_argument, NULL, 's'},
   {"delimiters", required_argument, NULL, 'd'},
index 48001fc..fceda91 100644 (file)
@@ -78,7 +78,7 @@ enum
   PORTABILITY_OPTION = CHAR_MAX + 1
 };
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"portability", no_argument, NULL, PORTABILITY_OPTION},
   {GETOPT_HELP_OPTION_DECL},
index 9c80d94..778ae0c 100644 (file)
@@ -78,7 +78,7 @@ static bool include_where = true;
 static char const *time_format;
 static int time_format_width;
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {GETOPT_HELP_OPTION_DECL},
   {GETOPT_VERSION_OPTION_DECL},
index 6ffe8f1..464891a 100644 (file)
--- a/src/pr.c
+++ b/src/pr.c
@@ -740,7 +740,7 @@ enum
 static char const short_options[] =
   "-0123456789D:FJN:S::TW:abcde::fh:i::l:mn::o:rs::tvw:";
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"pages", required_argument, NULL, PAGES_OPTION},
   {"columns", required_argument, NULL, COLUMNS_OPTION},
index 28dfc87..6d457c5 100644 (file)
--- a/src/ptx.c
+++ b/src/ptx.c
@@ -1935,7 +1935,7 @@ With no FILE or if FILE is -, read Standard Input.  `-F /' by default.\n\
 `----------------------------------------------------------------------*/
 
 /* Long options equivalences.  */
-static const struct option long_options[] =
+static const struct option const long_options[] =
 {
   {"auto-reference", no_argument, NULL, 'A'},
   {"break-file", required_argument, NULL, 'b'},
index 98a955c..405d467 100644 (file)
@@ -38,7 +38,7 @@ static bool no_newline;
 /* If true, report error messages.  */
 static bool verbose;
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"canonicalize", no_argument, NULL, 'f'},
   {"canonicalize-existing", no_argument, NULL, 'e'},
index 7304330..e1e987d 100644 (file)
--- a/src/rm.c
+++ b/src/rm.c
@@ -84,7 +84,7 @@ enum interactive_type
     interactive_always         /* 2: default, -i or --interactive=always */
   };
 
-static struct option const long_opts[] =
+static const struct option const long_opts[] =
 {
   {"directory", no_argument, NULL, 'd'},
   {"force", no_argument, NULL, 'f'},
index 64575b0..25d72db 100644 (file)
@@ -55,7 +55,7 @@ enum
   IGNORE_FAIL_ON_NON_EMPTY_OPTION = CHAR_MAX + 1
 };
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   /* Don't name this `--force' because it's not close enough in meaning
      to e.g. rm's -f option.  */
index a5c2300..8c2b261 100644 (file)
@@ -61,7 +61,8 @@
 
 #define AUTHORS proper_name ("Russell Coker")
 
-static struct option long_options[] = {
+static const struct option const long_options[] =
+{
   {"role", required_argument, NULL, 'r'},
   {"type", required_argument, NULL, 't'},
   {"user", required_argument, NULL, 'u'},
index 55518df..f0a0437 100644 (file)
--- a/src/seq.c
+++ b/src/seq.c
@@ -51,7 +51,7 @@ static char const *separator;
 /* FIXME: make this an option.  */
 static char const terminator[] = "\n";
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   { "equal-width", no_argument, NULL, 'w'},
   { "format", required_argument, NULL, 'f'},
index bfafa96..91a89d2 100644 (file)
@@ -133,7 +133,7 @@ enum
   RANDOM_SOURCE_OPTION = CHAR_MAX + 1
 };
 
-static struct option const long_opts[] =
+static const struct option const long_opts[] =
 {
   {"exact", no_argument, NULL, 'x'},
   {"force", no_argument, NULL, 'f'},
index ca5345b..118ba0b 100644 (file)
@@ -84,7 +84,7 @@ enum
   RANDOM_SOURCE_OPTION = CHAR_MAX + 1
 };
 
-static struct option const long_opts[] =
+static const struct option const long_opts[] =
 {
   {"echo", no_argument, NULL, 'e'},
   {"input-range", required_argument, NULL, 'i'},
index 632c5c8..218bd29 100644 (file)
@@ -205,7 +205,7 @@ static char fold_toupper[UCHAR_LIM];
 
 /* Table mapping month names to integers.
    Alphabetic order allows binary search. */
-static struct month monthtab[] =
+static const struct month const monthtab[] =
 {
   {"APR", 4},
   {"AUG", 8},
@@ -399,7 +399,7 @@ enum
 
 static char const short_options[] = "-bcCdfgik:mMno:rRsS:t:T:uy:z";
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"ignore-leading-blanks", no_argument, NULL, 'b'},
   {"check", optional_argument, NULL, CHECK_OPTION},
index 181d837..995a5a3 100644 (file)
@@ -79,7 +79,7 @@ enum
   VERBOSE_OPTION = CHAR_MAX + 1
 };
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"bytes", required_argument, NULL, 'b'},
   {"lines", required_argument, NULL, 'l'},
index 0d52c27..087bda3 100644 (file)
@@ -157,7 +157,8 @@ enum
   PRINTF_OPTION = CHAR_MAX + 1
 };
 
-static struct option const long_options[] = {
+static const struct option const long_options[] =
+{
   {"context", no_argument, 0, 'Z'},
   {"dereference", no_argument, NULL, 'L'},
   {"file-system", no_argument, NULL, 'f'},
index 004c318..548923d 100644 (file)
@@ -204,7 +204,7 @@ struct mode_info
     unsigned long mask;                /* Other bits to turn off for this mode.  */
   };
 
-static struct mode_info mode_info[] =
+static const struct mode_info const mode_info[] =
 {
   {"parenb", control, REV, PARENB, 0},
   {"parodd", control, REV, PARODD, 0},
@@ -368,7 +368,7 @@ struct control_info
 
 /* Control characters. */
 
-static struct control_info control_info[] =
+static const struct control_info const control_info[] =
 {
   {"intr", CINTR, VINTR},
   {"quit", CQUIT, VQUIT},
@@ -418,7 +418,7 @@ static char const *visible (cc_t ch);
 static unsigned long int baud_to_value (speed_t speed);
 static bool recover_mode (char const *arg, struct termios *mode);
 static int screen_columns (void);
-static bool set_mode (struct mode_info *info, bool reversed,
+static bool set_mode (struct mode_info const *info, bool reversed,
                      struct termios *mode);
 static unsigned long int integer_arg (const char *s, unsigned long int max);
 static speed_t string_to_baud (const char *arg);
@@ -432,7 +432,7 @@ static void display_settings (enum output_type output_type,
 static void display_speed (struct termios *mode, bool fancy);
 static void display_window_size (bool fancy, char const *device_name);
 static void sane_mode (struct termios *mode);
-static void set_control_char (struct control_info *info,
+static void set_control_char (struct control_info const *info,
                              const char *arg,
                              struct termios *mode);
 static void set_speed (enum speed_setting type, const char *arg,
@@ -445,7 +445,7 @@ static int max_col;
 /* Current position, to know when to wrap. */
 static int current_col;
 
-static struct option longopts[] =
+static const struct option const longopts[] =
 {
   {"all", no_argument, NULL, 'a'},
   {"save", no_argument, NULL, 'g'},
@@ -1061,7 +1061,7 @@ main (int argc, char **argv)
    return true.  */
 
 static bool
-set_mode (struct mode_info *info, bool reversed, struct termios *mode)
+set_mode (struct mode_info const *info, bool reversed, struct termios *mode)
 {
   tcflag_t *bitsp;
 
@@ -1267,7 +1267,7 @@ set_mode (struct mode_info *info, bool reversed, struct termios *mode)
 }
 
 static void
-set_control_char (struct control_info *info, const char *arg,
+set_control_char (struct control_info const *info, const char *arg,
                  struct termios *mode)
 {
   unsigned long int value;
@@ -1716,7 +1716,7 @@ struct speed_map
   unsigned long int value;     /* Numeric value. */
 };
 
-static struct speed_map speeds[] =
+static const struct speed_map const speeds[] =
 {
   {"0", B0, 0},
   {"50", B50, 50},
index f6b61f7..fed2778 100644 (file)
--- a/src/su.c
+++ b/src/su.c
@@ -137,7 +137,7 @@ static bool simulate_login;
 /* If true, change some environment vars to indicate the user su'd to.  */
 static bool change_environment;
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"command", required_argument, NULL, 'c'},
   {"fast", no_argument, NULL, 'f'},
index 4dfc867..7bedb87 100644 (file)
--- a/src/sum.c
+++ b/src/sum.c
@@ -39,7 +39,7 @@
 /* True if any of the files read were the standard input. */
 static bool have_read_stdin;
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"sysv", no_argument, NULL, 's'},
   {GETOPT_HELP_OPTION_DECL},
index 9cf6d60..4a43e59 100644 (file)
--- a/src/tac.c
+++ b/src/tac.c
@@ -111,7 +111,7 @@ static struct re_pattern_buffer compiled_separator;
 static char compiled_separator_fastmap[UCHAR_MAX + 1];
 static struct re_registers regs;
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"before", no_argument, NULL, 'b'},
   {"regex", no_argument, NULL, 'r'},
index 1ce207e..72f8267 100644 (file)
@@ -185,7 +185,7 @@ enum
   LONG_FOLLOW_OPTION
 };
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"bytes", required_argument, NULL, 'c'},
   {"follow", optional_argument, NULL, LONG_FOLLOW_OPTION},
index 162455c..284c97b 100644 (file)
--- a/src/tee.c
+++ b/src/tee.c
@@ -41,7 +41,7 @@ static bool append;
 /* If true, ignore interrupts. */
 static bool ignore_interrupts;
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"append", no_argument, NULL, 'a'},
   {"ignore-interrupts", no_argument, NULL, 'i'},
index 53ebf3c..b799345 100644 (file)
@@ -84,7 +84,8 @@ static int term_signal = SIGTERM;  /* same default as kill command.  */
 static int monitored_pid;
 static int sigs_to_ignore[NSIG];   /* so monitor can ignore sigs it resends.  */
 
-static struct option const long_options[] = {
+static const struct option const long_options[] =
+{
   {"signal", required_argument, NULL, 's'},
   {NULL, 0, NULL, 0}
 };
index bbc9c60..bea51b5 100644 (file)
@@ -77,7 +77,7 @@ enum
   TIME_OPTION = CHAR_MAX + 1
 };
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"time", required_argument, NULL, TIME_OPTION},
   {"no-create", no_argument, NULL, 'c'},
index e1bb404..7a74710 100644 (file)
--- a/src/tr.c
+++ b/src/tr.c
@@ -264,7 +264,7 @@ static bool in_delete_set[N_CHARS];
    two specification strings and the delete switch is not given.  */
 static char xlate[N_CHARS];
 
-static struct option const long_options[] =
+static const struct option const long_options[] =
 {
   {"complement", no_argument, NULL, 'c'},
   {"delete", no_argument, NULL, 'd'},
index f26fd45..cc4f507 100644 (file)
@@ -50,7 +50,8 @@ static bool block_mode;
 /* (-r) Reference file to use size from */
 static char const *ref_file;
 
-static struct option const longopts[] = {
+static const struct option const longopts[] =
+{
   {"no-create", no_argument, NULL, 'c'},
   {"io-blocks", no_argument, NULL, 'o'},
   {"reference", required_argument, NULL, 'r'},
index c7b13dc..dd563b8 100644 (file)
--- a/src/tty.c
+++ b/src/tty.c
@@ -45,7 +45,7 @@ enum
 /* If true, return an exit status but produce no output. */
 static bool silent;
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"silent", no_argument, NULL, 's'},
   {"quiet", no_argument, NULL, 's'},
index 3870dfa..57778b9 100644 (file)
@@ -86,7 +86,7 @@
 /* Operating system.  */
 #define PRINT_OPERATING_SYSTEM 128
 
-static struct option const uname_long_options[] =
+static const struct option const uname_long_options[] =
 {
   {"all", no_argument, NULL, 'a'},
   {"kernel-name", no_argument, NULL, 's'},
@@ -104,7 +104,7 @@ static struct option const uname_long_options[] =
   {NULL, 0, NULL, 0}
 };
 
-static struct option const arch_long_options[] =
+static const struct option const arch_long_options[] =
 {
   {GETOPT_HELP_OPTION_DECL},
   {GETOPT_VERSION_OPTION_DECL},
index 5a2d0cd..ec8831f 100644 (file)
@@ -96,7 +96,7 @@ enum
   CONVERT_FIRST_ONLY_OPTION = CHAR_MAX + 1
 };
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"tabs", required_argument, NULL, 't'},
   {"all", no_argument, NULL, 'a'},
index 5af5271..e837182 100644 (file)
@@ -107,7 +107,7 @@ static enum delimit_method const delimit_method_map[] =
 /* Select whether/how to delimit groups of duplicate lines.  */
 static enum delimit_method delimit_groups;
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"count", no_argument, NULL, 'c'},
   {"repeated", no_argument, NULL, 'd'},
index e6b9a1e..7990a7a 100644 (file)
--- a/src/wc.c
+++ b/src/wc.c
@@ -85,7 +85,7 @@ enum
   FILES0_FROM_OPTION = CHAR_MAX + 1
 };
 
-static struct option const longopts[] =
+static const struct option const longopts[] =
 {
   {"bytes", no_argument, NULL, 'c'},
   {"chars", no_argument, NULL, 'm'},
index 34b5648..ae9320b 100644 (file)
--- a/src/who.c
+++ b/src/who.c
@@ -159,7 +159,8 @@ enum
   LOOKUP_OPTION = CHAR_MAX + 1
 };
 
-static struct option const longopts[] = {
+static const struct option const longopts[] =
+{
   {"all", no_argument, NULL, 'a'},
   {"boot", no_argument, NULL, 'b'},
   {"count", no_argument, NULL, 'q'},