return NULL;
for (escape = 0, walk = str; *walk; walk++)
- if (*walk == '\'' || *walk == '\"')
+ if (*walk == '\\' || *walk == '\"' || *walk == '\"')
escape++;
if (!escape)
reswalk = res = g_new0(gchar, (walk - str) + escape + 1);
for (walk = str; *walk; walk++, reswalk++) {
- if (*walk == '\'' || *walk == '\"')
+ if (*walk == '\\' || *walk == '\'' || *walk == '\"')
*reswalk++ = '\\';
*reswalk = *walk;
}
*dst++ = *src;
else {
src++;
- if (*src == '\\')
- *dst++ = '\\'; /* insert backslash */
- else if (*src == 'n') /* insert control characters */
+ if (*src == 'n') /* insert control characters */
*dst++ = '\n';
else if (*src == 'r')
*dst++ = '\r';
*dst++ = '\b';
else if (*src == 'f')
*dst++ = '\f';
- else if (*src == '\'' || *src == '\"') /* insert \' or \" */
+ else if (*src == '\\' || *src == '\'' || *src == '\"')
+ /* insert \\, \' or \" */
*dst++ = *src;
else {
/* FIXME: should perhaps escape character... */