Package: libconfuse0 Version: 2.5-1 Severity: normal Tags: upstream Hi Aurélien,
if you set a string parameter with a string containing a double quote (") with a simple cfg_setstr and then you print the resulting configuration file with cfg_print, the generated configuration is invalid: parameter = "text " with quotes" The quote needs to be escaped with a backslash. If the string contains a backslash, it will usually disappear. It needs to be doubled... I have a quick & dirty patch for this: --- confuse-2.5.orig/src/confuse.c +++ confuse-2.5/src/confuse.c @@ -1397,7 +1397,18 @@ break; case CFGT_STR: str = cfg_opt_getnstr(opt, index); - fprintf(fp, "\"%s\"", str ? str : ""); + fprintf(fp, "\""); + while (str && *str) { + if (*str == '"') { + fprintf(fp, "\\\""); + } else if (*str == '\\') { + fprintf(fp, "\\\\"); + } else { + fprintf(fp, "%c", *str); + } + str++; + } + fprintf(fp, "\""); break; case CFGT_BOOL: fprintf(fp, "%s", cfg_opt_getnbool(opt, index) ? "true" : "false"); Cheers, -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.15-1-686 Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Versions of packages libconfuse0 depends on: ii libc6 2.3.6-15 GNU C Library: Shared libraries libconfuse0 recommends no packages. -- no debconf information