int length = strlen(key+store.baselen+1);
- /* Check to see if the value needs to be quoted. */
+ * Check to see if the value needs to be surrounded with a dq pair.
+ * Note that problematic characters are always backslash-quoted; this
+ * check is about not losing leading or trailing SP and strings that
+ * follow beginning-of-comment characters (i.e. ';' and '#') by the
+ * configuration parser.
for (i = 0; value[i]; i++)
if (value[i] == ';' || value[i] == '#')
+ if (value[i-1] == ' ')
if (write_in_full(fd, "\t", 1) != 1 ||