Skip to content
Snippets Groups Projects
Commit 098dea86 authored by Bruce Momjian's avatar Bruce Momjian
Browse files

Fix core dump on \c.

parent 656d88c6
Branches
Tags
No related merge requests found
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.65 1997/05/24 01:45:17 momjian Exp $ * $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.66 1997/05/24 14:38:05 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -1088,7 +1088,7 @@ HandleSlashCmds(PsqlSettings * settings, ...@@ -1088,7 +1088,7 @@ HandleSlashCmds(PsqlSettings * settings,
optarg = NULL; optarg = NULL;
blank_loc = strcspn(cmd, " \t"); blank_loc = strcspn(cmd, " \t");
if (blank_loc == 0) if (blank_loc == 0 || !cmd[blank_loc])
optarg2 = NULL; optarg2 = NULL;
else else
optarg2 = cmd + blank_loc + strspn(cmd + blank_loc, " \t"); optarg2 = cmd + blank_loc + strspn(cmd + blank_loc, " \t");
...@@ -1114,17 +1114,20 @@ HandleSlashCmds(PsqlSettings * settings, ...@@ -1114,17 +1114,20 @@ HandleSlashCmds(PsqlSettings * settings,
case 'c':{ case 'c':{
if (strncmp(cmd, "copy ", strlen("copy ")) == 0) if (strncmp(cmd, "copy ", strlen("copy ")) == 0)
do_copy(optarg2, settings); do_copy(optarg2, settings);
else if (strncmp(cmd, "connect ", strlen("connect ")) == 0) { else if (strncmp(cmd, "connect ", strlen("connect ")) == 0 ||
strcmp(cmd, "connect") == 0 /* issue error message */) {
char *optarg3; char *optarg3;
int blank_loc2; int blank_loc2;
blank_loc2 = strcspn(optarg2, " \t"); if (optarg2) {
if (blank_loc2 == 0 || *(optarg2 + blank_loc2) == '\0') blank_loc2 = strcspn(optarg2, " \t");
optarg3 = NULL; if (blank_loc2 == 0 || *(optarg2 + blank_loc2) == '\0')
else { optarg3 = NULL;
optarg3 = optarg2 + blank_loc2 + else {
optarg3 = optarg2 + blank_loc2 +
strspn(optarg2 + blank_loc2, " \t"); strspn(optarg2 + blank_loc2, " \t");
*(optarg2 + blank_loc2) = '\0'; *(optarg2 + blank_loc2) = '\0';
}
} }
do_connect(optarg2, optarg3, settings); do_connect(optarg2, optarg3, settings);
} }
...@@ -1132,13 +1135,15 @@ HandleSlashCmds(PsqlSettings * settings, ...@@ -1132,13 +1135,15 @@ HandleSlashCmds(PsqlSettings * settings,
char *optarg3; char *optarg3;
int blank_loc2; int blank_loc2;
blank_loc2 = strcspn(optarg, " \t"); if (optarg) {
if (blank_loc2 == 0 || *(optarg + blank_loc2) == '\0') blank_loc2 = strcspn(optarg, " \t");
optarg3 = NULL; if (blank_loc2 == 0 || *(optarg + blank_loc2) == '\0')
else { optarg3 = NULL;
optarg3 = optarg + blank_loc2 + else {
optarg3 = optarg + blank_loc2 +
strspn(optarg + blank_loc2, " \t"); strspn(optarg + blank_loc2, " \t");
*(optarg + blank_loc2) = '\0'; *(optarg + blank_loc2) = '\0';
}
} }
do_connect(optarg, optarg3, settings); do_connect(optarg, optarg3, settings);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment