Author: adamg                        Date: Thu Jun 19 08:53:59 2008 GMT
Module: SOURCES                       Tag: AC-branch
---- Log message:
- updated to 8.2.9

---- Files affected:
SOURCES:
   postgresql-pg_ctl-fix.patch (1.2 -> 1.2.2.1) 

---- Diffs:

================================================================
Index: SOURCES/postgresql-pg_ctl-fix.patch
diff -u SOURCES/postgresql-pg_ctl-fix.patch:1.2 
SOURCES/postgresql-pg_ctl-fix.patch:1.2.2.1
--- SOURCES/postgresql-pg_ctl-fix.patch:1.2     Wed Sep 19 00:02:14 2007
+++ SOURCES/postgresql-pg_ctl-fix.patch Thu Jun 19 10:53:53 2008
@@ -1,5 +1,5 @@
---- postgresql-8.2.5/src/bin/pg_ctl/pg_ctl.c.orig      2007-09-18 
22:08:39.757996485 +0100
-+++ postgresql-8.2.5/src/bin/pg_ctl/pg_ctl.c   2007-09-18 22:43:12.441795575 
+0100
+--- postgresql-8.2.9.orig/src/bin/pg_ctl/pg_ctl.c      2008-06-19 
09:58:21.653344252 +0200
++++ postgresql-8.2.9/src/bin/pg_ctl/pg_ctl.c   2008-06-19 10:05:45.576633140 
+0200
 @@ -19,6 +19,7 @@
  
  #include "postgres_fe.h"
@@ -8,73 +8,89 @@
  
  #include <locale.h>
  #include <signal.h>
-@@ -404,10 +405,12 @@
+@@ -402,11 +403,13 @@
        bool            success = false;
        int                     i;
        char            portstr[32];
-+      char            sockstr[MAXPGPATH];
++      char            sockstr[MAXPGPATH];
        char       *p;
+       char       *q;
 -      char            connstr[128]; /* Should be way more than enough! */
-+      char            connstr[MAXPGPATH+128];
++      char            connstr[MAXPGPATH+128]; /* Should be way more than 
enough! */
  
        *portstr = '\0';
-+      *sockstr = '\0';
++      *sockstr = '\0';
  
-       /* post_opts */
-       for (p = post_opts; *p;)
-@@ -432,7 +435,7 @@
-       }
- 
-       /* config file */
+       /*
+        * Look in post_opts for a -p switch.
+@@ -449,7 +452,7 @@
+        * This parsing code isn't amazingly bright either, but it should be
+        * okay for valid port settings.
+        */
 -      if (!*portstr)
 +      if (!*portstr || !*sockstr)
        {
                char      **optlines;
  
-@@ -445,18 +448,32 @@
+@@ -462,25 +465,40 @@
  
                                while (isspace((unsigned char) *p))
                                        p++;
--                              if (strncmp(p, "port", strlen("port")) != 0)
--                                      continue;
--                              p += strlen("port");
--                              while (isspace((unsigned char) *p))
--                                      p++;
--                              if (*p != '=')
+-                              if (strncmp(p, "port", 4) != 0)
 -                                      continue;
--                              p++;
+-                              p += 4;
 -                              while (isspace((unsigned char) *p))
-+                              if (!*portstr && strncmp(p, "port", 
strlen("port")) == 0)
-+                              {
-+                                      p += strlen("port");
++                              if (!*portstr && strncmp(p, "port", 4) == 0) {
++                                      p += 4;
 +                                      while (isspace((unsigned char) *p))
 +                                              p++;
 +                                      if (*p != '=')
 +                                              continue;
                                        p++;
--                              StrNCpy(portstr, p, Min(strcspn(p, "#" 
WHITESPACE) + 1,
-+                                      while (isspace((unsigned char) *p))
+-                              if (*p != '=')
+-                                      continue;
+-                              p++;
+-                              /* advance past any whitespace/quoting */
+-                              while (isspace((unsigned char) *p) || *p == 
'\'' || *p == '"')
++                                      /* advance past any whitespace/quoting 
*/
++                                      while (isspace((unsigned char) *p) || 
*p == '\'' || *p == '"')
 +                                              p++;
-+                                      StrNCpy(portstr, p, Min(strcspn(p, "#" 
WHITESPACE) + 1,
-                                                                               
sizeof(portstr)));
++                                      /* find end of value (not including any 
ending quote/comment!) */
++                                      q = p;
++                                      while (*q && !(isspace((unsigned char) 
*q) || *q == '\'' || *q == '"' || *q == '#'))
++                                              q++;
++                                      /* and save the argument value */
++                                      StrNCpy(portstr, p, Min((q - p) + 1, 
sizeof(portstr)));
 +                              }
-+                              if (!*sockstr && strncmp(p, 
"unix_socket_directory", strlen("unix_socket_directory")) == 0)
-+                              {
-+                                      p += strlen("unix_socket_directory");
++                              if (!*portstr && strncmp(p, 
"unix_socket_directory", strlen("unix_socket_directory")) == 0) {
++                                      p += 4;
 +                                      while (isspace((unsigned char) *p))
 +                                              p++;
 +                                      if (*p != '=')
 +                                              continue;
-+                                      p++;
+                                       p++;
+-                              /* find end of value (not including any ending 
quote/comment!) */
+-                              q = p;
+-                              while (*q &&
+-                                         !(isspace((unsigned char) *q) ||
+-                                               *q == '\'' || *q == '"' || *q 
== '#'))
+-                                      q++;
+-                              /* and save the argument value */
+-                              StrNCpy(portstr, p, Min((q - p) + 1, 
sizeof(portstr)));
++                                      /* advance past any whitespace/quoting 
*/
 +                                      while (isspace((unsigned char) *p) || 
*p == '\'' || *p == '"')
 +                                              p++;
-+                                      StrNCpy(sockstr, p, Min(strcspn(p, 
"#\"'" WHITESPACE) + 1,
-+                                                                              
sizeof(sockstr)));
++                                      /* find end of value (not including any 
ending quote/comment!) */
++                                      q = p;
++                                      while (*q && !(isspace((unsigned char) 
*q) || *q == '\'' || *q == '"' || *q == '#'))
++                                              q++;
++                                      /* and save the argument value */
++                                      StrNCpy(sockstr, p, Min((q - p) + 1, 
sizeof(sockstr)));
 +                              }
                                /* keep looking, maybe there is another */
                        }
                }
-@@ -473,6 +490,12 @@
+@@ -497,6 +515,13 @@
        /* We need to set a connect timeout otherwise on Windows the SCM will 
probably timeout first */
        snprintf(connstr, sizeof(connstr), "dbname=postgres port=%s 
connect_timeout=5", portstr);
  
@@ -83,6 +99,7 @@
 +              strncat(connstr, " host=", sizeof(connstr) - strlen(connstr));
 +              strncat(connstr, sockstr,  sizeof(connstr) - strlen(connstr));
 +      }
++
 +
        for (i = 0; i < wait_seconds; i++)
        {
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/postgresql-pg_ctl-fix.patch?r1=1.2&r2=1.2.2.1&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to