@@ -2260,163 +2260,151 @@ main(int argc, char **argv)
22602260 if (env_wait != NULL )
22612261 wait_seconds = atoi (env_wait );
22622262
2263- /*
2264- * 'Action' can be before or after args so loop over both. Some
2265- * getopt_long() implementations will reorder argv[] to place all flags
2266- * first (GNU?), but we don't rely on it. Our /port version doesn't do
2267- * that.
2268- */
2269- optind = 1 ;
2270-
22712263 /* process command-line options */
2272- while (optind < argc )
2264+ while ((c = getopt_long (argc , argv , "cD:e:l:m:N:o:p:P:sS:t:U:wW" ,
2265+ long_options , & option_index )) != -1 )
22732266 {
2274- while ((c = getopt_long (argc , argv , "cD:e:l:m:N:o:p:P:sS:t:U:wW" ,
2275- long_options , & option_index )) != -1 )
2267+ switch (c )
22762268 {
2277- switch (c )
2278- {
2279- case 'D' :
2280- {
2281- char * pgdata_D ;
2282-
2283- pgdata_D = pg_strdup (optarg );
2284- canonicalize_path (pgdata_D );
2285- setenv ("PGDATA" , pgdata_D , 1 );
2286-
2287- /*
2288- * We could pass PGDATA just in an environment
2289- * variable but we do -D too for clearer postmaster
2290- * 'ps' display
2291- */
2292- pgdata_opt = psprintf ("-D \"%s\" " , pgdata_D );
2293- free (pgdata_D );
2294- break ;
2295- }
2296- case 'e' :
2297- event_source = pg_strdup (optarg );
2298- break ;
2299- case 'l' :
2300- log_file = pg_strdup (optarg );
2301- break ;
2302- case 'm' :
2303- set_mode (optarg );
2304- break ;
2305- case 'N' :
2306- register_servicename = pg_strdup (optarg );
2307- break ;
2308- case 'o' :
2309- /* append option? */
2310- if (!post_opts )
2311- post_opts = pg_strdup (optarg );
2312- else
2313- {
2314- char * old_post_opts = post_opts ;
2315-
2316- post_opts = psprintf ("%s %s" , old_post_opts , optarg );
2317- free (old_post_opts );
2318- }
2319- break ;
2320- case 'p' :
2321- exec_path = pg_strdup (optarg );
2322- break ;
2323- case 'P' :
2324- register_password = pg_strdup (optarg );
2325- break ;
2326- case 's' :
2327- silent_mode = true;
2269+ case 'D' :
2270+ {
2271+ char * pgdata_D ;
2272+
2273+ pgdata_D = pg_strdup (optarg );
2274+ canonicalize_path (pgdata_D );
2275+ setenv ("PGDATA" , pgdata_D , 1 );
2276+
2277+ /*
2278+ * We could pass PGDATA just in an environment variable
2279+ * but we do -D too for clearer postmaster 'ps' display
2280+ */
2281+ pgdata_opt = psprintf ("-D \"%s\" " , pgdata_D );
2282+ free (pgdata_D );
23282283 break ;
2329- case 'S' :
2284+ }
2285+ case 'e' :
2286+ event_source = pg_strdup (optarg );
2287+ break ;
2288+ case 'l' :
2289+ log_file = pg_strdup (optarg );
2290+ break ;
2291+ case 'm' :
2292+ set_mode (optarg );
2293+ break ;
2294+ case 'N' :
2295+ register_servicename = pg_strdup (optarg );
2296+ break ;
2297+ case 'o' :
2298+ /* append option? */
2299+ if (!post_opts )
2300+ post_opts = pg_strdup (optarg );
2301+ else
2302+ {
2303+ char * old_post_opts = post_opts ;
2304+
2305+ post_opts = psprintf ("%s %s" , old_post_opts , optarg );
2306+ free (old_post_opts );
2307+ }
2308+ break ;
2309+ case 'p' :
2310+ exec_path = pg_strdup (optarg );
2311+ break ;
2312+ case 'P' :
2313+ register_password = pg_strdup (optarg );
2314+ break ;
2315+ case 's' :
2316+ silent_mode = true;
2317+ break ;
2318+ case 'S' :
23302319#ifdef WIN32
2331- set_starttype (optarg );
2320+ set_starttype (optarg );
23322321#else
2333- write_stderr (_ ("%s: -S option not supported on this platform\n" ),
2334- progname );
2335- exit (1 );
2322+ write_stderr (_ ("%s: -S option not supported on this platform\n" ),
2323+ progname );
2324+ exit (1 );
23362325#endif
2337- break ;
2338- case 't' :
2339- wait_seconds = atoi (optarg );
2340- wait_seconds_arg = true;
2341- break ;
2342- case 'U' :
2343- if (strchr (optarg , '\\' ))
2344- register_username = pg_strdup (optarg );
2345- else
2346- /* Prepend .\ for local accounts */
2347- register_username = psprintf (".\\%s" , optarg );
2348- break ;
2349- case 'w' :
2350- do_wait = true;
2351- break ;
2352- case 'W' :
2353- do_wait = false;
2354- break ;
2355- case 'c' :
2356- allow_core_files = true;
2357- break ;
2358- default :
2359- /* getopt_long already issued a suitable error message */
2360- do_advice ();
2361- exit (1 );
2362- }
2326+ break ;
2327+ case 't' :
2328+ wait_seconds = atoi (optarg );
2329+ wait_seconds_arg = true;
2330+ break ;
2331+ case 'U' :
2332+ if (strchr (optarg , '\\' ))
2333+ register_username = pg_strdup (optarg );
2334+ else
2335+ /* Prepend .\ for local accounts */
2336+ register_username = psprintf (".\\%s" , optarg );
2337+ break ;
2338+ case 'w' :
2339+ do_wait = true;
2340+ break ;
2341+ case 'W' :
2342+ do_wait = false;
2343+ break ;
2344+ case 'c' :
2345+ allow_core_files = true;
2346+ break ;
2347+ default :
2348+ /* getopt_long already issued a suitable error message */
2349+ do_advice ();
2350+ exit (1 );
23632351 }
2352+ }
23642353
2365- /* Process an action */
2366- if (optind < argc )
2354+ /* Process an action */
2355+ if (optind < argc )
2356+ {
2357+ if (strcmp (argv [optind ], "init" ) == 0
2358+ || strcmp (argv [optind ], "initdb" ) == 0 )
2359+ ctl_command = INIT_COMMAND ;
2360+ else if (strcmp (argv [optind ], "start" ) == 0 )
2361+ ctl_command = START_COMMAND ;
2362+ else if (strcmp (argv [optind ], "stop" ) == 0 )
2363+ ctl_command = STOP_COMMAND ;
2364+ else if (strcmp (argv [optind ], "restart" ) == 0 )
2365+ ctl_command = RESTART_COMMAND ;
2366+ else if (strcmp (argv [optind ], "reload" ) == 0 )
2367+ ctl_command = RELOAD_COMMAND ;
2368+ else if (strcmp (argv [optind ], "status" ) == 0 )
2369+ ctl_command = STATUS_COMMAND ;
2370+ else if (strcmp (argv [optind ], "promote" ) == 0 )
2371+ ctl_command = PROMOTE_COMMAND ;
2372+ else if (strcmp (argv [optind ], "logrotate" ) == 0 )
2373+ ctl_command = LOGROTATE_COMMAND ;
2374+ else if (strcmp (argv [optind ], "kill" ) == 0 )
23672375 {
2368- if (ctl_command != NO_COMMAND )
2376+ if (argc - optind < 3 )
23692377 {
2370- write_stderr (_ ("%s: too many command-line arguments (first is \"%s\")\ n" ), progname , argv [ optind ] );
2378+ write_stderr (_ ("%s: missing arguments for kill mode\ n" ), progname );
23712379 do_advice ();
23722380 exit (1 );
23732381 }
2374-
2375- if (strcmp (argv [optind ], "init" ) == 0
2376- || strcmp (argv [optind ], "initdb" ) == 0 )
2377- ctl_command = INIT_COMMAND ;
2378- else if (strcmp (argv [optind ], "start" ) == 0 )
2379- ctl_command = START_COMMAND ;
2380- else if (strcmp (argv [optind ], "stop" ) == 0 )
2381- ctl_command = STOP_COMMAND ;
2382- else if (strcmp (argv [optind ], "restart" ) == 0 )
2383- ctl_command = RESTART_COMMAND ;
2384- else if (strcmp (argv [optind ], "reload" ) == 0 )
2385- ctl_command = RELOAD_COMMAND ;
2386- else if (strcmp (argv [optind ], "status" ) == 0 )
2387- ctl_command = STATUS_COMMAND ;
2388- else if (strcmp (argv [optind ], "promote" ) == 0 )
2389- ctl_command = PROMOTE_COMMAND ;
2390- else if (strcmp (argv [optind ], "logrotate" ) == 0 )
2391- ctl_command = LOGROTATE_COMMAND ;
2392- else if (strcmp (argv [optind ], "kill" ) == 0 )
2393- {
2394- if (argc - optind < 3 )
2395- {
2396- write_stderr (_ ("%s: missing arguments for kill mode\n" ), progname );
2397- do_advice ();
2398- exit (1 );
2399- }
2400- ctl_command = KILL_COMMAND ;
2401- set_sig (argv [++ optind ]);
2402- killproc = atol (argv [++ optind ]);
2403- }
2382+ ctl_command = KILL_COMMAND ;
2383+ set_sig (argv [++ optind ]);
2384+ killproc = atol (argv [++ optind ]);
2385+ }
24042386#ifdef WIN32
2405- else if (strcmp (argv [optind ], "register") == 0 )
2406- ctl_command = REGISTER_COMMAND ;
2407- else if (strcmp (argv [optind ], "unregister ") == 0 )
2408- ctl_command = UNREGISTER_COMMAND ;
2409- else if (strcmp (argv [optind ], "runservice ") == 0 )
2410- ctl_command = RUN_AS_SERVICE_COMMAND ;
2387+ else if (strcmp (argv [optind ], "register") == 0 )
2388+ ctl_command = REGISTER_COMMAND ;
2389+ else if (strcmp (argv [optind ], "unregister ") == 0 )
2390+ ctl_command = UNREGISTER_COMMAND ;
2391+ else if (strcmp (argv [optind ], "runservice ") == 0 )
2392+ ctl_command = RUN_AS_SERVICE_COMMAND ;
24112393#endif
2412- else
2413- {
2414- write_stderr (_ ("%s: unrecognized operation mode \"%s\"\n" ), progname , argv [optind ]);
2415- do_advice ();
2416- exit (1 );
2417- }
2418- optind ++ ;
2394+ else
2395+ {
2396+ write_stderr (_ ("%s: unrecognized operation mode \"%s\"\n" ), progname , argv [optind ]);
2397+ do_advice ();
2398+ exit (1 );
24192399 }
2400+ optind ++ ;
2401+ }
2402+
2403+ if (optind < argc )
2404+ {
2405+ write_stderr (_ ("%s: too many command-line arguments (first is \"%s\")\n" ), progname , argv [optind ]);
2406+ do_advice ();
2407+ exit (1 );
24202408 }
24212409
24222410 if (ctl_command == NO_COMMAND )
0 commit comments