OSDN Git Service

Prevent service dbname from defaulting to service name, per bug report
authorBruce Momjian <bruce@momjian.us>
Fri, 19 Dec 2003 21:50:54 +0000 (21:50 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 19 Dec 2003 21:50:54 +0000 (21:50 +0000)
from Michael Fuhr

src/interfaces/libpq/fe-connect.c
src/interfaces/libpq/pg_service.conf.sample

index 46b9cf8..ed99661 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.264 2003/11/29 19:52:11 pgsql Exp $
+ *       $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.265 2003/12/19 21:50:54 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -2367,7 +2367,7 @@ parseServiceInfo(PQconninfoOption *options, PQExpBuffer errorMessage)
 {
        char       *service = conninfo_getval(options, "service");
        char       *serviceFile = SYSCONFDIR "/pg_service.conf";
-       int                     group_found = 0;
+       bool            group_found = false;
        int                     linenr = 0,
                                i;
 
@@ -2431,9 +2431,9 @@ parseServiceInfo(PQconninfoOption *options, PQExpBuffer errorMessage)
 
                                if (strncmp(line + 1, service, strlen(service)) == 0 &&
                                        line[strlen(service) + 1] == ']')
-                                       group_found = 1;
+                                       group_found = true;
                                else
-                                       group_found = 0;
+                                       group_found = false;
                        }
                        else
                        {
@@ -2445,7 +2445,7 @@ parseServiceInfo(PQconninfoOption *options, PQExpBuffer errorMessage)
                                         */
                                        char       *key,
                                                           *val;
-                                       int                     found_keyword;
+                                       bool            found_keyword;
 
                                        key = line;
                                        val = strchr(line, '=');
@@ -2461,31 +2461,17 @@ parseServiceInfo(PQconninfoOption *options, PQExpBuffer errorMessage)
                                        *val++ = '\0';
 
                                        /*
-                                        * If not already set, set the database name to the
-                                        * name of the service
-                                        */
-                                       for (i = 0; options[i].keyword; i++)
-                                       {
-                                               if (strcmp(options[i].keyword, "dbname") == 0)
-                                               {
-                                                       if (options[i].val == NULL)
-                                                               options[i].val = strdup(service);
-                                                       break;
-                                               }
-                                       }
-
-                                       /*
                                         * Set the parameter --- but don't override any
                                         * previous explicit setting.
                                         */
-                                       found_keyword = 0;
+                                       found_keyword = false;
                                        for (i = 0; options[i].keyword; i++)
                                        {
                                                if (strcmp(options[i].keyword, key) == 0)
                                                {
                                                        if (options[i].val == NULL)
                                                                options[i].val = strdup(val);
-                                                       found_keyword = 1;
+                                                       found_keyword = true;
                                                        break;
                                                }
                                        }
index d5d486f..e15d79b 100644 (file)
@@ -5,12 +5,12 @@
 # multiple services in this file.  Each starts with a service name in  
 # brackets.  Subsequent lines have connection configuration parameters of
 # the pattern  "param=value".  A sample configuration for template1 is 
-# included in this file.  If no database name is specified, it is assumed 
-# to match the service name.  Lines beginning with '#' are comments.
+# included in this file.  Lines beginning with '#' are comments.
 #
 # Copy this to your sysconf directory (typically /usr/local/pgsql/etc) and
 # rename it pg_service.conf.
 #
 #
 #[template1]
+#dbname=template1
 #user=postgres