diff options
author | Gerald Carter <jerry@samba.org> | 2003-11-22 04:35:36 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2003-11-22 04:35:36 +0000 |
commit | 3c101594ddb9b8be9378ddd00c175a1fcf04a577 (patch) | |
tree | 944f8060db8b491802dc312236a83e0a54e2eeca /source3/web/swat.c | |
parent | 1a125f5e402ad433a7192d9c5f5cfbb9593710b0 (diff) | |
download | samba-3c101594ddb9b8be9378ddd00c175a1fcf04a577.tar.gz samba-3c101594ddb9b8be9378ddd00c175a1fcf04a577.tar.bz2 samba-3c101594ddb9b8be9378ddd00c175a1fcf04a577.zip |
Ensure that items in a list of strings containing whitespace
are written out surrounded by single quotes. This means that
both double and single quotes are now used to surround
strings in smb.conf. This is a slight change from the previous
behavior but needed or else things like
printer admin = +ntadmin, 'VALE\Domain, Admin'
get written to smb.conf by SWAT.
(This used to be commit 59e9d6e301c752e99fb6a50204d7941f7f84566a)
Diffstat (limited to 'source3/web/swat.c')
-rw-r--r-- | source3/web/swat.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/source3/web/swat.c b/source3/web/swat.c index f4046b46a2..1faef46e25 100644 --- a/source3/web/swat.c +++ b/source3/web/swat.c @@ -212,7 +212,11 @@ static void show_parameter(int snum, struct parm_struct *parm) if ((char ***)ptr && *(char ***)ptr && **(char ***)ptr) { char **list = *(char ***)ptr; for (;*list;list++) { - d_printf("%s%s", *list, ((*(list+1))?" ":"")); + /* enclose in quotes if the string contains a space */ + if ( strchr_m(*list, ' ') ) + d_printf("\'%s\'%s", *list, ((*(list+1))?", ":"")); + else + d_printf("%s%s", *list, ((*(list+1))?", ":"")); } } d_printf("\">"); @@ -221,7 +225,11 @@ static void show_parameter(int snum, struct parm_struct *parm) if (parm->def.lvalue) { char **list = (char **)(parm->def.lvalue); for (; *list; list++) { - d_printf("%s%s", *list, ((*(list+1))?" ":"")); + /* enclose in quotes if the string contains a space */ + if ( strchr_m(*list, ' ') ) + d_printf("\'%s\'%s", *list, ((*(list+1))?", ":"")); + else + d_printf("%s%s", *list, ((*(list+1))?", ":"")); } } d_printf("\'\">"); |