Add full path in error report for version mismatch of binaries.
authorBruce Momjian <bruce@momjian.us>
Fri, 15 Oct 2004 04:32:28 +0000 (04:32 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 15 Oct 2004 04:32:28 +0000 (04:32 +0000)
src/bin/initdb/initdb.c
src/bin/pg_ctl/pg_ctl.c
src/bin/pg_dump/pg_dumpall.c

index da698e55dee807a49183b9a2194ddbae6200511a..e00c2f9c1828c7a9b61882295cfcc79fa1d33646 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.61 2004/10/12 21:54:42 petere Exp $
+ * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.62 2004/10/15 04:31:48 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -2268,18 +2268,24 @@ main(int argc, char *argv[])
    if ((ret = find_other_exec(argv[0], "postgres", PG_VERSIONSTR,
                               backend_exec)) < 0)
    {
+       char full_path[MAXPGPATH];
+
+       if (find_my_exec(argv[0], full_path) < 0)
+           StrNCpy(full_path, progname, MAXPGPATH);
+
        if (ret == -1)
            fprintf(stderr,
                    _("The program \"postgres\" is needed by %s "
-                  "but was not found in the same directory as \"%s\".\n"
+                     "but was not found in the\n"
+                     "same directory as \"%s\".\n"
                      "Check your installation.\n"),
-                   progname, progname);
+                   progname, full_path);
        else
            fprintf(stderr,
-                   _("The program \"postgres\" was found by %s "
-                     "but was not the same version as \"%s\".\n"
+                   _("The program \"postgres\" was found by \"%s\"\n"
+                     "but was not the same version as %s.\n"
                      "Check your installation.\n"),
-                   progname, progname);
+                   full_path, progname);
        exit(1);
    }
 
index d4b69a8bc37a809982d18110a6882892156d778d..7f9ac2f468d0b5e211d92b0d47c4b8af4d59bc50 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.36 2004/10/15 01:36:12 neilc Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.37 2004/10/15 04:32:14 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -531,17 +531,22 @@ do_start(void)
        if ((ret = find_other_exec(argv0, "postmaster", PM_VERSIONSTR,
                                   postmaster_path)) < 0)
        {
+           char full_path[MAXPGPATH];
+   
+           if (find_my_exec(argv0, full_path) < 0)
+               StrNCpy(full_path, progname, MAXPGPATH);
+   
            if (ret == -1)
                write_stderr(_("The program \"postmaster\" is needed by %s "
-                           "but was not found in the same directory as "
-                              "\"%s\".\n"
+                              "but was not found in the\n"
+                              "same directory as \"%s\".\n"
                               "Check your installation.\n"),
-                            progname, progname);
+                            progname, full_path);
            else
-               write_stderr(_("The program \"postmaster\" was found by %s "
-                              "but was not the same version as \"%s\".\n"
+               write_stderr(_("The program \"postmaster\" was found by \"%s\"\n"
+                              "but was not the same version as %s.\n"
                               "Check your installation.\n"),
-                            progname, progname);
+                            full_path, progname);
            exit(1);
        }
        postgres_path = postmaster_path;
index df6041b04852507127ec0d74bb6a5df924647f15..1b26ebb4dc938070c36040972a194ee821ae9a29 100644 (file)
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  *
- * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.52 2004/10/06 17:02:02 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.53 2004/10/15 04:32:28 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -139,18 +139,24 @@ main(int argc, char *argv[])
    if ((ret = find_other_exec(argv[0], "pg_dump", PG_VERSIONSTR,
                               pg_dump_bin)) < 0)
    {
+       char full_path[MAXPGPATH];
+
+       if (find_my_exec(argv[0], full_path) < 0)
+           StrNCpy(full_path, progname, MAXPGPATH);
+
        if (ret == -1)
            fprintf(stderr,
                    _("The program \"pg_dump\" is needed by %s "
-                  "but was not found in the same directory as \"%s\".\n"
+                     "but was not found in the\n"
+                     "same directory as \"%s\".\n"
                      "Check your installation.\n"),
-                   progname, progname);
+                   progname, full_path);
        else
            fprintf(stderr,
-                   _("The program \"pg_dump\" was found by %s "
-                     "but was not the same version as \"%s\".\n"
+                   _("The program \"pg_dump\" was found by \"%s\"\n"
+                     "but was not the same version as %s.\n"
                      "Check your installation.\n"),
-                   progname, progname);
+                   full_path, progname);
        exit(1);
    }