summaryrefslogtreecommitdiff
path: root/src/bin/psql/psql.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/psql/psql.c')
-rw-r--r--src/bin/psql/psql.c36
1 files changed, 16 insertions, 20 deletions
diff --git a/src/bin/psql/psql.c b/src/bin/psql/psql.c
index 4ff3d59cbdf..6f62b57ccea 100644
--- a/src/bin/psql/psql.c
+++ b/src/bin/psql/psql.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.60 1997/05/21 03:12:02 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.61 1997/05/22 18:55:35 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1055,19 +1055,12 @@ HandleSlashCmds(PsqlSettings * settings,
* assuming it's not a one-character command. If it's a one-character
* command, this is meaningless.
*/
- char *optarg3;
- /*
- * Pointer inside the second <cmd> string to the argument of the slash command
- * assuming it's not a one-character command. If it's a one-character
- * command, this is meaningless.
- */
char *cmd;
/*
* String: value of the slash command, less the slash and with escape
* sequences decoded.
*/
int blank_loc;
- int blank_loc2;
/* Offset within <cmd> of first blank */
cmd = malloc(strlen(line)); /* unescaping better not make string grow. */
@@ -1089,19 +1082,10 @@ HandleSlashCmds(PsqlSettings * settings,
optarg = NULL;
blank_loc = strcspn(cmd, " \t");
- if (blank_loc == 0) {
+ if (blank_loc == 0)
optarg2 = NULL;
- optarg3 = NULL;
- } else {
+ else
optarg2 = cmd + blank_loc + strspn(cmd + blank_loc, " \t");
- blank_loc2 = strcspn(optarg2, " \t");
- if (blank_loc2 == 0 || *(optarg2 + blank_loc2) == '\0')
- optarg3 = NULL;
- else {
- optarg3 = optarg2 + blank_loc2 + strspn(optarg2 + blank_loc2, " \t");
- *(optarg2 + blank_loc2) = '\0';
- }
- }
switch (cmd[0]) {
case 'a': /* toggles to align fields on output */
@@ -1124,8 +1108,20 @@ HandleSlashCmds(PsqlSettings * settings,
case 'c':{
if (strncmp(cmd, "copy ", strlen("copy ")) == 0)
do_copy(optarg2, settings);
- else if (strncmp(cmd, "connect ", strlen("connect ")) == 0)
+ else if (strncmp(cmd, "connect ", strlen("connect ")) == 0) {
+ char *optarg3;
+ int blank_loc2;
+
+ blank_loc2 = strcspn(optarg2, " \t");
+ if (blank_loc2 == 0 || *(optarg2 + blank_loc2) == '\0')
+ optarg3 = NULL;
+ else {
+ optarg3 = optarg2 + blank_loc2 +
+ strspn(optarg2 + blank_loc2, " \t");
+ *(optarg2 + blank_loc2) = '\0';
+ }
do_connect(optarg2, optarg3, settings);
+ }
else
do_connect(optarg, optarg2, settings);
}