]> granicus.if.org Git - postgresql/commitdiff
psql code cleanup:
authorNeil Conway <neilc@samurai.com>
Fri, 15 Oct 2004 01:36:12 +0000 (01:36 +0000)
committerNeil Conway <neilc@samurai.com>
Fri, 15 Oct 2004 01:36:12 +0000 (01:36 +0000)
- refactor a bunch of code to call a separate function print_msg() which
checks whether "silent mode" is enabled before printing an error
message.

- rename "silence_mode" to "silent_mode", which IMHO makes more sense

- make the error messages we emit in "waiting" mode more consistent; I
believe this fixes a recent error message regression

src/bin/pg_ctl/pg_ctl.c

index 13e801601ddb8c630dfda0e93a7a0bb5dde590cb..d4b69a8bc37a809982d18110a6882892156d778d 100644 (file)
@@ -4,7 +4,7 @@
  *
  * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.35 2004/10/13 10:35:05 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.36 2004/10/15 01:36:12 neilc Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -66,7 +66,7 @@ typedef enum
 static bool do_wait = false;
 static bool wait_set = false;
 static int     wait_seconds = 60;
-static bool silence_echo = false;
+static bool silent_mode = false;
 static ShutdownMode shutdown_mode = SMART_MODE;
 static int     sig = SIGTERM;          /* default */
 static CtlCommand ctl_command = NO_COMMAND;
@@ -92,25 +92,26 @@ static void do_advice(void);
 static void do_help(void);
 static void set_mode(char *modeopt);
 static void set_sig(char *signame);
-static void do_start();
+static void do_start(void);
 static void do_stop(void);
 static void do_restart(void);
 static void do_reload(void);
 static void do_status(void);
 static void do_kill(pgpid_t pid);
+static void print_msg(const char *msg);
 
 #if defined(WIN32) || defined(__CYGWIN__)
 static bool pgwin32_IsInstalled(SC_HANDLE);
 static char *pgwin32_CommandLine(bool);
-static void pgwin32_doRegister();
-static void pgwin32_doUnregister();
+static void pgwin32_doRegister(void);
+static void pgwin32_doUnregister(void);
 static void pgwin32_SetServiceStatus(DWORD);
 static void WINAPI pgwin32_ServiceHandler(DWORD);
 static void WINAPI pgwin32_ServiceMain(DWORD, LPTSTR *);
-static void pgwin32_doRunAsService();
+static void pgwin32_doRunAsService(void);
 #endif
 static pgpid_t get_pgpid(void);
-static char **readfile(char *path);
+static char **readfile(const char *path);
 static int     start_postmaster(void);
 static bool test_postmaster_connection(void);
 
@@ -201,7 +202,6 @@ xmalloc(size_t size)
 }
 
 
-
 static char *
 xstrdup(const char *s)
 {
@@ -216,7 +216,19 @@ xstrdup(const char *s)
        return result;
 }
 
-
+/*
+ * Given an already-localized string, print it to stdout unless the
+ * user has specified that no messages should be printed.
+ */
+static void
+print_msg(const char *msg)
+{
+       if (!silent_mode)
+       {
+               fputs(msg, stdout);
+               fflush(stdout);
+       }
+}
 
 static pgpid_t
 get_pgpid(void)
@@ -247,7 +259,7 @@ get_pgpid(void)
  * get the lines from a text file - return NULL if file can't be opened
  */
 static char **
-readfile(char *path)
+readfile(const char *path)
 {
        FILE       *infile;
        int                     maxlength = 0,
@@ -281,7 +293,6 @@ readfile(char *path)
                maxlength = linelen;
 
        /* set up the result and the line buffer */
-
        result = (char **) xmalloc((nlines + 1) * sizeof(char *));
        buffer = (char *) xmalloc(maxlength + 1);
 
@@ -429,11 +440,7 @@ test_postmaster_connection(void)
                }
                else
                {
-                       if (!silence_echo)
-                       {
-                               printf(".");
-                               fflush(stdout);
-                       }
+                       print_msg(".");
                        pg_usleep(1000000); /* 1 sec */
                }
        }
@@ -563,23 +570,18 @@ do_start(void)
 
        if (do_wait)
        {
-               if (!silence_echo)
-               {
-                       printf(_("waiting for postmaster to start..."));
-                       fflush(stdout);
-               }
+               print_msg(_("waiting for postmaster to start..."));
 
                if (test_postmaster_connection() == false)
                        printf(_("could not start postmaster\n"));
-               else if (!silence_echo)
-                       printf(_("done\npostmaster started\n"));
+               else
+                       print_msg(_(" done\npostmaster started\n"));
        }
-       else if (!silence_echo)
-               printf(_("postmaster starting\n"));
+       else
+               print_msg(_("postmaster starting\n"));
 }
 
 
-
 static void
 do_stop(void)
 {
@@ -612,27 +614,18 @@ do_stop(void)
 
        if (!do_wait)
        {
-               if (!silence_echo)
-                       printf(_("postmaster shutting down\n"));
+               print_msg(_("postmaster shutting down\n"));
                return;
        }
        else
        {
-               if (!silence_echo)
-               {
-                       printf(_("waiting for postmaster to shut down... "));
-                       fflush(stdout);
-               }
+               print_msg(_("waiting for postmaster to shut down..."));
 
                for (cnt = 0; cnt < wait_seconds; cnt++)
                {
                        if ((pid = get_pgpid()) != 0)
                        {
-                               if (!silence_echo)
-                               {
-                                       printf(".");
-                                       fflush(stdout);
-                               }
+                               print_msg(".");
                                pg_usleep(1000000);             /* 1 sec */
                        }
                        else
@@ -641,14 +634,12 @@ do_stop(void)
 
                if (pid != 0)                   /* pid file still exists */
                {
-                       if (!silence_echo)
-                               printf(_("failed\n"));
+                       print_msg(_(" failed\n"));
 
                        write_stderr(_("%s: postmaster does not shut down\n"), progname);
                        exit(1);
                }
-               if (!silence_echo)
-                       printf(_("done\n"));
+               print_msg(_(" done\n"));
 
                printf(_("postmaster stopped\n"));
        }
@@ -691,11 +682,7 @@ do_restart(void)
                exit(1);
        }
 
-       if (!silence_echo)
-       {
-               printf(_("waiting for postmaster to shut down..."));
-               fflush(stdout);
-       }
+       print_msg(_("waiting for postmaster to shut down..."));
 
        /* always wait for restart */
 
@@ -703,11 +690,7 @@ do_restart(void)
        {
                if ((pid = get_pgpid()) != 0)
                {
-                       if (!silence_echo)
-                       {
-                               printf(".");
-                               fflush(stdout);
-                       }
+                       print_msg(".");
                        pg_usleep(1000000); /* 1 sec */
                }
                else
@@ -716,16 +699,13 @@ do_restart(void)
 
        if (pid != 0)                           /* pid file still exists */
        {
-               if (!silence_echo)
-                       printf(_(" failed\n"));
+               print_msg(_(" failed\n"));
 
                write_stderr(_("%s: postmaster does not shut down\n"), progname);
                exit(1);
        }
 
-       if (!silence_echo)
-               printf(_("done\n"));
-
+       print_msg(_(" done\n"));
        printf(_("postmaster stopped\n"));
        do_start();
 }
@@ -760,8 +740,7 @@ do_reload(void)
                exit(1);
        }
 
-       if (!silence_echo)
-               fprintf(stdout, _("postmaster signaled\n"));
+       print_msg(_("postmaster signaled\n"));
 }
 
 /*
@@ -876,7 +855,7 @@ pgwin32_CommandLine(bool registration)
 }
 
 static void
-pgwin32_doRegister()
+pgwin32_doRegister(void)
 {
        SC_HANDLE       hService;
        SC_HANDLE       hSCM = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
@@ -908,7 +887,7 @@ pgwin32_doRegister()
 }
 
 static void
-pgwin32_doUnregister()
+pgwin32_doUnregister(void)
 {
        SC_HANDLE       hService;
        SC_HANDLE       hSCM = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
@@ -1060,7 +1039,7 @@ pgwin32_ServiceMain(DWORD argc, LPTSTR * argv)
 }
 
 static void
-pgwin32_doRunAsService()
+pgwin32_doRunAsService(void)
 {
        SERVICE_TABLE_ENTRY st[] = {{register_servicename, pgwin32_ServiceMain},
        {NULL, NULL}};
@@ -1287,7 +1266,7 @@ main(int argc, char **argv)
                                        register_password = xstrdup(optarg);
                                        break;
                                case 's':
-                                       silence_echo = true;
+                                       silent_mode = true;
                                        break;
                                case 'U':
                                        if (strchr(optarg, '\\'))