]> granicus.if.org Git - postgresql/commitdiff
From: Andrew Martin <martin@biochemistry.ucl.ac.uk>
authorMarc G. Fournier <scrappy@hub.org>
Fri, 23 Jan 1998 19:21:11 +0000 (19:21 +0000)
committerMarc G. Fournier <scrappy@hub.org>
Fri, 23 Jan 1998 19:21:11 +0000 (19:21 +0000)
psql .psqlrc file startup(Andrew)

src/bin/psql/psql.c

index c1ee52ef16024003b89e7741e6500041f793dcc4..939ae237797391f7749bd974c49c90202038bfbe 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.127 1998/01/22 18:50:22 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.128 1998/01/23 19:21:11 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -2413,9 +2413,11 @@ main(int argc, char **argv)
        char       *singleQuery = NULL;
 
        bool            listDatabases = 0;
-       int                     successResult = 1;
+       int             successResult = 1;
        bool            singleSlashCmd = 0;
-       int                     c;
+       int             c;
+
+       char            *home = NULL;  /* Used to store $HOME */
 
        MemSet(&settings, 0, sizeof settings);
        settings.opt.align = 1;
@@ -2556,6 +2558,30 @@ main(int argc, char **argv)
                printf("   type \\g or terminate with semicolon to execute query\n");
                printf(" You are currently connected to the database: %s\n\n", dbname);
        }
+
+       /*
+        * 20.06.97 ACRM See if we've got a /etc/psqlrc or .psqlrc file
+        */
+       if(!access("/etc/psqlrc",R_OK))
+               HandleSlashCmds(&settings, "\\i /etc/psqlrc", "");
+       if((home = getenv("HOME"))!=NULL) {
+               char *psqlrc = NULL,
+               *line   = NULL;
+
+               if((psqlrc = (char *)malloc(strlen(home) + 10))!=NULL) {
+                       sprintf(psqlrc, "%s/.psqlrc", home);
+                       if(!access(psqlrc, R_OK)) {
+                               if((line = (char *)malloc(strlen(psqlrc) + 5))!=NULL) {
+                                       sprintf(line, "\\i %s", psqlrc);
+                                       HandleSlashCmds(&settings, line, "");
+                                       free(line);
+                               }
+                       }
+                       free(psqlrc);
+               }
+       }
+       /* End of check for psqlrc files */
+
        if (qfilename || singleSlashCmd)
        {