summaryrefslogtreecommitdiff
path: root/clients/zctl
diff options
context:
space:
mode:
authorGravatar Robert S. French <rfrench@mit.edu>1988-02-07 16:00:51 +0000
committerGravatar Robert S. French <rfrench@mit.edu>1988-02-07 16:00:51 +0000
commit60a36b1d16126c37bcbd4fa11cc0e0f5add79a83 (patch)
tree3c8c678440ac8b22ffb564290fa200b7f6f51bae /clients/zctl
parent955f8ebdbcfa5be9104af7b7c86e89f80cd41746 (diff)
"set" now allows multi-word values
Diffstat (limited to 'clients/zctl')
-rw-r--r--clients/zctl/zctl.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/clients/zctl/zctl.c b/clients/zctl/zctl.c
index 53e18e1..08a7935 100644
--- a/clients/zctl/zctl.c
+++ b/clients/zctl/zctl.c
@@ -253,10 +253,11 @@ set_var(argc,argv)
int argc;
char *argv[];
{
- int retval,setting_exp;
+ int retval,setting_exp,i;
char *exp_level,*newargv[1];
+ char varcat[BUFSIZ];
- if (argc != 2 && argc != 3) {
+ if (argc < 2) {
fprintf(stderr,"Usage: %s <varname> [value]\n",
argv[0]);
return;
@@ -297,8 +298,15 @@ set_var(argc,argv)
}
if (argc == 2)
retval = ZSetVariable(argv[1],"");
- else
- retval = ZSetVariable(argv[1],argv[2]);
+ else {
+ varcat[0] = '\0';
+ for (i=2;i<argc;i++) {
+ if (i != 2)
+ strcat(varcat," ");
+ strcat(varcat,argv[i]);
+ }
+ retval = ZSetVariable(argv[1],varcat);
+ }
if (retval != ZERR_NONE) {
ss_perror(sci_idx,retval,"while setting variable value");