]> granicus.if.org Git - postgresql/commitdiff
In initdb.c, rename some newly created functions, and move the directory
authorBruce Momjian <bruce@momjian.us>
Tue, 4 Dec 2012 04:22:56 +0000 (23:22 -0500)
committerBruce Momjian <bruce@momjian.us>
Tue, 4 Dec 2012 04:22:56 +0000 (23:22 -0500)
creation and xlog symlink creation to separate functions.

Per suggestions from Andrew Dunstan.

src/bin/initdb/initdb.c

index 8c0a9f41abf67f54ab0180f87481db5066dbe6db..d44281bece08ba30bf3a3519818102c77db8ac7c 100644 (file)
@@ -255,9 +255,11 @@ void setup_pgdata(void);
 void setup_bin_paths(const char *argv0);
 void setup_data_file_paths(void);
 void setup_locale_encoding(void);
-void setup_signals_and_umask(void);
+void setup_signals(void);
 void setup_text_search(void);
-void process(const char *argv0);
+void create_data_directory(void);
+void create_xlog_symlink(void);
+void initialize_data_directory(void);
 
 
 #ifdef WIN32
@@ -3164,7 +3166,7 @@ setup_text_search(void)
 
 
 void
-setup_signals_and_umask(void)
+setup_signals(void)
 {
        /* some of these are not valid on Windows */
 #ifdef SIGHUP
@@ -3184,19 +3186,12 @@ setup_signals_and_umask(void)
 #ifdef SIGPIPE
        pqsignal(SIGPIPE, SIG_IGN);
 #endif
-
-       umask(S_IRWXG | S_IRWXO);
 }
 
 
 void
-process(const char *argv0)
+create_data_directory(void)
 {
-       int i;
-       char            bin_dir[MAXPGPATH];
-
-       setup_signals_and_umask();
        switch (pg_check_dir(pg_data))
        {
                case 0:
@@ -3249,7 +3244,12 @@ process(const char *argv0)
                                        progname, pg_data, strerror(errno));
                        exit_nicely();
        }
+}
+
 
+void
+create_xlog_symlink(void)
+{
        /* Create transaction log symlink, if required */
        if (strcmp(xlog_dir, "") != 0)
        {
@@ -3336,6 +3336,21 @@ process(const char *argv0)
                exit_nicely();
 #endif
        }
+}
+
+
+void
+initialize_data_directory(void)
+{
+       int i;
+
+       setup_signals();
+
+       umask(S_IRWXG | S_IRWXO);
+       create_data_directory();
+
+       create_xlog_symlink();
 
        /* Create required subdirectories */
        printf(_("creating subdirectories ... "));
@@ -3404,19 +3419,6 @@ process(const char *argv0)
 
        if (authwarning != NULL)
                fprintf(stderr, "%s", authwarning);
-
-       /* Get directory specification used to start this executable */
-       strlcpy(bin_dir, argv0, sizeof(bin_dir));
-       get_parent_directory(bin_dir);
-
-       printf(_("\nSuccess. You can now start the database server using:\n\n"
-                        "    %s%s%spostgres%s -D %s%s%s\n"
-                        "or\n"
-                        "    %s%s%spg_ctl%s -D %s%s%s -l logfile start\n\n"),
-          QUOTE_PATH, bin_dir, (strlen(bin_dir) > 0) ? DIR_SEP : "", QUOTE_PATH,
-                  QUOTE_PATH, pgdata_native, QUOTE_PATH,
-          QUOTE_PATH, bin_dir, (strlen(bin_dir) > 0) ? DIR_SEP : "", QUOTE_PATH,
-                  QUOTE_PATH, pgdata_native, QUOTE_PATH);
 }
 
 
@@ -3459,6 +3461,7 @@ main(int argc, char *argv[])
        int                     c;
        int                     option_index;
        char       *effective_user;
+       char            bin_dir[MAXPGPATH];
 
        progname = get_progname(argv[0]);
        set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("initdb"));
@@ -3642,7 +3645,20 @@ main(int argc, char *argv[])
        
        printf("\n");
 
-       process(argv[0]);
+       initialize_data_directory();
        
+       /* Get directory specification used to start this executable */
+       strlcpy(bin_dir, argv[0], sizeof(bin_dir));
+       get_parent_directory(bin_dir);
+
+       printf(_("\nSuccess. You can now start the database server using:\n\n"
+                        "    %s%s%spostgres%s -D %s%s%s\n"
+                        "or\n"
+                        "    %s%s%spg_ctl%s -D %s%s%s -l logfile start\n\n"),
+          QUOTE_PATH, bin_dir, (strlen(bin_dir) > 0) ? DIR_SEP : "", QUOTE_PATH,
+                  QUOTE_PATH, pgdata_native, QUOTE_PATH,
+          QUOTE_PATH, bin_dir, (strlen(bin_dir) > 0) ? DIR_SEP : "", QUOTE_PATH,
+                  QUOTE_PATH, pgdata_native, QUOTE_PATH);
+
        return 0;
 }