Whamcloud - gitweb
LU-6210 utils: Use C99 struct initializer in lustre_rsync.c 14/27814/2
authorSteve Guminski <stephenx.guminski@intel.com>
Fri, 19 May 2017 19:51:36 +0000 (15:51 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 19 Jul 2017 03:32:01 +0000 (03:32 +0000)
This patch makes no functional changes.  The long_opts struct
initializer in lustre_rsync.c is updated to C99 syntax.

C89 positional initializers require values to be placed in the
correct order. This will cause errors if the fields of the struct
definition are reordered or fields are added or removed. C99 named
initializers avoid this problem, and also automatically clear any
values that are not explicitly set.

Test-Parameters: trivial
Signed-off-by: Steve Guminski <stephenx.guminski@intel.com>
Change-Id: Ic89ee776d5c2578759554446cdc33f5861316130
Reviewed-on: https://review.whamcloud.com/27814
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
lustre/utils/lustre_rsync.c

index 2be588c..361d2ad 100644 (file)
@@ -206,24 +206,24 @@ FILE *debug_log;
 
 /* Command line options */
 struct option long_opts[] = {
-        {"source",      required_argument, 0, 's'},
-        {"target",      required_argument, 0, 't'},
-        {"mdt",         required_argument, 0, 'm'},
-        {"user",        required_argument, 0, 'u'},
-        {"statuslog",   required_argument, 0, 'l'},
-        {"verbose",     no_argument,       0, 'v'},
-        {"xattr",       required_argument, 0, 'x'},
-        {"dry-run",     no_argument,       0, 'z'},
-        /* Undocumented options follow */
-        {"cl-clear",    required_argument, 0, 'c'},
-        {"use-rsync",   no_argument,       0, 'r'},
-        {"rsync-threshold", required_argument, 0, 'y'},
-        {"start-recno", required_argument, 0, 'n'},
-        {"abort-on-err",no_argument,       0, 'a'},
-        {"debug",       required_argument, 0, 'd'},
-       {"debuglog",    required_argument, 0, 'D'},
-       {0, 0, 0, 0}
-};
+       { .val = 'l',   .name = "statuslog",    .has_arg = required_argument },
+       { .val = 'm',   .name = "mdt",          .has_arg = required_argument },
+       { .val = 's',   .name = "source",       .has_arg = required_argument },
+       { .val = 't',   .name = "target",       .has_arg = required_argument },
+       { .val = 'u',   .name = "user",         .has_arg = required_argument },
+       { .val = 'v',   .name = "verbose",      .has_arg = no_argument },
+       { .val = 'x',   .name = "xattr",        .has_arg = required_argument },
+       { .val = 'z',   .name = "dry-run",      .has_arg = no_argument },
+       /* Undocumented options follow */
+       { .val = 'a',   .name = "abort-on-err", .has_arg = no_argument },
+       { .val = 'c',   .name = "cl-clear",     .has_arg = required_argument },
+       { .val = 'd',   .name = "debug",        .has_arg = required_argument },
+       { .val = 'D',   .name = "debuglog",     .has_arg = required_argument },
+       { .val = 'n',   .name = "start-recno",  .has_arg = required_argument },
+       { .val = 'r',   .name = "use-rsync",    .has_arg = no_argument },
+       { .val = 'y',   .name = "rsync-threshold",
+                                               .has_arg = required_argument },
+       { .name = NULL } };
 
 /* Command line usage */
 void lr_usage()