Bruce Momjian wrote: > I am attaching a minimal patch that will fix the bug in back branches. > Keep in mind that a patched pg_ctl will not be able to restart a backend > that was not patched.
I think this patch will work for unpatched backends as well. I am still uncertain if it should be backpatched. -- Bruce Momjian <[EMAIL PROTECTED]> http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
Index: src/backend/postmaster/postmaster.c =================================================================== RCS file: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v retrieving revision 1.551 diff -c -c -r1.551 postmaster.c *** src/backend/postmaster/postmaster.c 11 Jan 2008 00:54:09 -0000 1.551 --- src/backend/postmaster/postmaster.c 26 Jun 2008 19:11:37 -0000 *************** *** 4163,4169 **** fprintf(fp, "%s", fullprogname); for (i = 1; i < argc; i++) ! fprintf(fp, " %s%s%s", SYSTEMQUOTE, argv[i], SYSTEMQUOTE); fputs("\n", fp); if (fclose(fp)) --- 4163,4169 ---- fprintf(fp, "%s", fullprogname); for (i = 1; i < argc; i++) ! fprintf(fp, " \"%s\"", argv[i]); fputs("\n", fp); if (fclose(fp)) Index: src/bin/pg_ctl/pg_ctl.c =================================================================== RCS file: /cvsroot/pgsql/src/bin/pg_ctl/pg_ctl.c,v retrieving revision 1.92.2.3 diff -c -c -r1.92.2.3 pg_ctl.c *** src/bin/pg_ctl/pg_ctl.c 29 Feb 2008 23:31:42 -0000 1.92.2.3 --- src/bin/pg_ctl/pg_ctl.c 26 Jun 2008 19:11:37 -0000 *************** *** 613,627 **** { char *arg1; ! arg1 = strchr(optline, *SYSTEMQUOTE); ! if (arg1 == NULL || arg1 == optline) ! post_opts = ""; ! else { ! *(arg1 - 1) = '\0'; /* this should be a space */ ! post_opts = arg1; } ! if (postgres_path != NULL) postgres_path = optline; } else --- 613,629 ---- { char *arg1; ! /* ! * Are we at the first option, as defined by space and ! * double-quote? ! */ ! if ((arg1 = strstr(optline, " \"")) != NULL || ! (arg1 = strstr(optline, " -")) != NULL) { ! *arg1 = '\0'; /* terminate so we get only program name */ ! post_opts = arg1 + 1; /* point past whitespace */ } ! if (postgres_path == NULL) postgres_path = optline; } else
-- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches