summaryrefslogtreecommitdiffstats
path: root/source/client
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2004-07-01 20:20:06 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:52:06 -0500
commit374f00b56b7e9bff08e70ee2d93538b2c7fde7b7 (patch)
treeb3cb59d7da138bb11c16457697fad5ee9b7a424b /source/client
parentcc1881c143b16fa8f0abd80190877d0018bc282e (diff)
downloadsamba-374f00b56b7e9bff08e70ee2d93538b2c7fde7b7.tar.gz
samba-374f00b56b7e9bff08e70ee2d93538b2c7fde7b7.tar.xz
samba-374f00b56b7e9bff08e70ee2d93538b2c7fde7b7.zip
r1320: Return an error when the last command read from stdin fails in smbclient +
prepare for better error checking in tar..
Diffstat (limited to 'source/client')
-rw-r--r--source/client/client.c6
-rw-r--r--source/client/clitar.c6
2 files changed, 7 insertions, 5 deletions
diff --git a/source/client/client.c b/source/client/client.c
index ea8ec93f97c..1fccfaa581c 100644
--- a/source/client/client.c
+++ b/source/client/client.c
@@ -2579,9 +2579,10 @@ static void readline_callback(void)
Process commands on stdin.
****************************************************************************/
-static void process_stdin(void)
+static int process_stdin(void)
{
const char *ptr;
+ int rc = 0;
while (1) {
pstring tok;
@@ -2609,13 +2610,14 @@ static void process_stdin(void)
if (!next_token_nr(&ptr,tok,NULL,sizeof(tok))) continue;
if ((i = process_tok(tok)) >= 0) {
- commands[i].fn();
+ rc = commands[i].fn();
} else if (i == -2) {
d_printf("%s: command abbreviation ambiguous\n",tok);
} else {
d_printf("%s: command not found\n",tok);
}
}
+ return rc;
}
/*****************************************************
diff --git a/source/client/clitar.c b/source/client/clitar.c
index e43b3e4cc50..64c194b54da 100644
--- a/source/client/clitar.c
+++ b/source/client/clitar.c
@@ -1357,9 +1357,8 @@ int cmd_tar(void)
if (!tar_parseargs(argcl, argl, buf, 0))
return 1;
- process_tar();
SAFE_FREE(argl);
- return 0;
+ return process_tar();
}
/****************************************************************************
@@ -1368,6 +1367,7 @@ Command line (option) version
int process_tar(void)
{
+ int rc = 0;
initarbuf();
switch(tar_type) {
case 'x':
@@ -1445,7 +1445,7 @@ int process_tar(void)
clipn = 0;
must_free_cliplist = False;
}
- return(0);
+ return rc;
}
/****************************************************************************