Return proper value for psql -f filename failure if filename open fails.
authorBruce Momjian <bruce@momjian.us>
Tue, 20 Sep 2005 18:59:15 +0000 (18:59 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 20 Sep 2005 18:59:15 +0000 (18:59 +0000)
Backpatch to 8.0.X.

src/bin/psql/command.c
src/bin/psql/startup.c

index bb8d692eb792a2864a3fdd608560ea32bc6c5173..4bfcb708669a56ffd7e64e1d775464f288e25e8b 100644 (file)
@@ -1298,7 +1298,8 @@ do_edit(const char *filename_arg, PQExpBuffer query_buf)
  * process_file
  *
  * Read commands from filename and then them to the main processing loop
- * Handler for \i, but can be used for other things as well.
+ * Handler for \i, but can be used for other things as well.  Returns
+ * MainLoop() error code.
  */
 int
 process_file(char *filename)
@@ -1308,7 +1309,7 @@ process_file(char *filename)
        char       *oldfilename;
 
        if (!filename)
-               return false;
+               return EXIT_FAILURE;
 
        canonicalize_path(filename);
        fd = fopen(filename, PG_BINARY_R);
@@ -1316,7 +1317,7 @@ process_file(char *filename)
        if (!fd)
        {
                psql_error("%s: %s\n", filename, strerror(errno));
-               return false;
+               return EXIT_FAILURE;
        }
 
        oldfilename = pset.inputfile;
index c98e010b95c1478e44b65b17d0ec7bf8aa334733..4fcea3f3892869e28d5108e1f2ea22358c11cf9c 100644 (file)
@@ -606,9 +606,9 @@ process_psqlrc_file(char *filename)
        sprintf(psqlrc, "%s-%s", filename, PG_VERSION);
 
        if (access(psqlrc, R_OK) == 0)
-               process_file(psqlrc);
+               (void)process_file(psqlrc);
        else if (access(filename, R_OK) == 0)
-               process_file(filename);
+               (void)process_file(filename);
        free(psqlrc);
 }