summaryrefslogtreecommitdiff
path: root/source3/web/swat.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2003-11-22 04:33:36 +0000
committerGerald Carter <jerry@samba.org>2003-11-22 04:33:36 +0000
commit11f4893145f94c85b4f1268544a84116d3a38751 (patch)
tree72b5add6f724e945ddbb05a04bdd7bdb0d2d03cc /source3/web/swat.c
parentd66def408ea394fe6475e87cd2405173eb7c8c8c (diff)
downloadsamba-11f4893145f94c85b4f1268544a84116d3a38751.tar.gz
samba-11f4893145f94c85b4f1268544a84116d3a38751.tar.bz2
samba-11f4893145f94c85b4f1268544a84116d3a38751.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 5bf91c79d620e34ac71d72c80f74e47754d49dcb)
Diffstat (limited to 'source3/web/swat.c')
-rw-r--r--source3/web/swat.c12
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("\'\">");