Ensure that items in a list of strings containing whitespace
[samba.git] / source3 / param / loadparm.c
index 8643ecb028c41a5965135286539dcb87095f6b7d..e98d9249646c259cdedffeaa64884ed07e4e907c 100644 (file)
@@ -3301,9 +3301,13 @@ static void print_parameter(struct parm_struct *p, void *ptr, FILE * f)
                        if ((char ***)ptr && *(char ***)ptr) {
                                char **list = *(char ***)ptr;
                                
-                               for (; *list; list++)
-                                       fprintf(f, "%s%s", *list,
-                                               ((*(list+1))?", ":""));
+                               for (; *list; list++) {
+                                       /* surround strings with whitespace in single quotes */
+                                       if ( strchr_m( *list, ' ' ) )
+                                               fprintf(f, "\'%s\'%s", *list, ((*(list+1))?", ":""));
+                                       else
+                                               fprintf(f, "%s%s", *list, ((*(list+1))?", ":""));
+                               }
                        }
                        break;