]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Have initdb display relative paths to start postmaster if used to invoke
authorBruce Momjian <bruce@momjian.us>
Mon, 29 Nov 2004 01:14:45 +0000 (01:14 +0000)
committerBruce Momjian <bruce@momjian.us>
Mon, 29 Nov 2004 01:14:45 +0000 (01:14 +0000)
initdb, and display in a path-native way.

src/bin/initdb/initdb.c

index a0b2f3357eb8358d5d9f25de3598dfce25ee5faa..3b775e99acbd3fe5225d2a3034b49dce765c5b8a 100644 (file)
@@ -39,7 +39,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  * Portions taken from FreeBSD.
  *
- * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.68 2004/11/27 18:51:05 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.69 2004/11/29 01:14:45 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -216,8 +216,10 @@ do { \
 
 #ifndef WIN32
 #define QUOTE_PATH     ""
+#define DIR_SEP "/"
 #else
 #define QUOTE_PATH     "\""
+#define DIR_SEP "\\"
 #endif
 
 /*
@@ -2079,6 +2081,8 @@ main(int argc, char *argv[])
        char       *short_version;
        char       *pgdenv;                     /* PGDATA value gotten from and sent to
                                                                 * environment */
+       char            bin_dir[MAXPGPATH];
+       char            *pg_data_native;
        static const char *subdirs[] = {
                "global",
                "pg_xlog",
@@ -2256,6 +2260,7 @@ main(int argc, char *argv[])
                }
        }
 
+       pg_data_native = pg_data;
        canonicalize_path(pg_data);
 
        /*
@@ -2567,12 +2572,18 @@ main(int argc, char *argv[])
        if (authwarning != NULL)
                fprintf(stderr, authwarning);
 
+       /* Get directory specification used to start this executable */
+       strcpy(bin_dir, argv[0]);
+       get_parent_directory(bin_dir);
+       
        printf(_("\nSuccess. You can now start the database server using:\n\n"
-                        "    %s%s%s/postmaster -D %s%s%s\n"
+                        "    %s%s%s%spostmaster -D %s%s%s\n"
                         "or\n"
-                        "    %s%s%s/pg_ctl -D %s%s%s -l logfile start\n\n"),
-          QUOTE_PATH, bin_path, QUOTE_PATH, QUOTE_PATH, pg_data, QUOTE_PATH,
-         QUOTE_PATH, bin_path, QUOTE_PATH, QUOTE_PATH, pg_data, QUOTE_PATH);
+                        "    %s%s%s%spg_ctl -D %s%s%s -l logfile start\n\n"),
+         QUOTE_PATH, bin_dir, QUOTE_PATH, (strlen(bin_dir) > 0) ? DIR_SEP : "",
+         QUOTE_PATH, pg_data_native, QUOTE_PATH,
+         QUOTE_PATH, bin_dir, QUOTE_PATH, (strlen(bin_dir) > 0) ? DIR_SEP : "",
+         QUOTE_PATH, pg_data_native, QUOTE_PATH);
 
        return 0;
 }