summaryrefslogtreecommitdiff
path: root/source3/client
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2020-09-28 14:21:24 +0200
committerJeremy Allison <jra@samba.org>2020-09-30 15:58:39 +0000
commit71bc4d4b8d94458ac2e40d659f06110d434fd5c9 (patch)
tree57de3dd590ba9b3112fd90bb2c4a167fc1de6fac /source3/client
parent8fa451d2b052223a11b24ffc2a956b80d03aaa7c (diff)
downloadsamba-71bc4d4b8d94458ac2e40d659f06110d434fd5c9.tar.gz
smbclient: Slightly simplify do_mget()
Put the prompt query into a separate if-statement, move the "quest" variable closer to its use Bug: https://bugzilla.samba.org/show_bug.cgi?id=14517 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/client')
-rw-r--r--source3/client/client.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/source3/client/client.c b/source3/client/client.c
index 6e1d68996d1..d9f4384ef66 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -1202,7 +1202,6 @@ static NTSTATUS do_mget(struct cli_state *cli_state, struct file_info *finfo,
TALLOC_CTX *ctx = talloc_tos();
NTSTATUS status = NT_STATUS_OK;
char *rname = NULL;
- char *quest = NULL;
char *saved_curdir = NULL;
char *mget_mask = NULL;
char *new_cd = NULL;
@@ -1214,23 +1213,24 @@ static NTSTATUS do_mget(struct cli_state *cli_state, struct file_info *finfo,
if (strequal(finfo->name,".") || strequal(finfo->name,".."))
return NT_STATUS_OK;
- if (finfo->attr & FILE_ATTRIBUTE_DIRECTORY) {
- if (asprintf(&quest,
- "Get directory %s? ",finfo->name) < 0) {
- return NT_STATUS_NO_MEMORY;
- }
- } else {
- if (asprintf(&quest,
- "Get file %s? ",finfo->name) < 0) {
+ if (prompt) {
+ const char *object = (finfo->attr & FILE_ATTRIBUTE_DIRECTORY) ?
+ "directory" : "file";
+ char *quest = NULL;
+ bool ok;
+
+ quest = talloc_asprintf(
+ ctx, "Get %s %s? ", object, finfo->name);
+ if (quest == NULL) {
return NT_STATUS_NO_MEMORY;
}
- }
- if (prompt && !yesno(quest)) {
- SAFE_FREE(quest);
- return NT_STATUS_OK;
+ ok = yesno(quest);
+ TALLOC_FREE(quest);
+ if (!ok) {
+ return NT_STATUS_OK;
+ }
}
- SAFE_FREE(quest);
if (!(finfo->attr & FILE_ATTRIBUTE_DIRECTORY)) {
rname = talloc_asprintf(ctx,