Mercurial > geeqie.yaz
diff src/filelist.c @ 217:5bdab7ed4bcd
use quoted_value everywhere
simplify parsing of multiple quoted values on one line
author | nadvornik |
---|---|
date | Mon, 31 Mar 2008 21:09:36 +0000 |
parents | f2b439c7f973 |
children | cce347409480 |
line wrap: on
line diff
--- a/src/filelist.c Mon Mar 31 07:29:03 2008 +0000 +++ b/src/filelist.c Mon Mar 31 21:09:36 2008 +0000 @@ -371,10 +371,14 @@ { FilterEntry *fe = work->data; work = work->next; + + gchar *extensions = escquote_value(fe->extensions); + gchar *description = escquote_value(fe->description); - fprintf(f, "filter_ext: \"%s%s\" \"%s\" \"%s\"\n", (fe->enabled) ? "" : "#", - fe->key, fe->extensions, - (fe->description) ? fe->description : ""); + fprintf(f, "filter_ext: \"%s%s\" %s %s\n", (fe->enabled) ? "" : "#", + fe->key, extensions, description); + g_free(extensions); + g_free(description); } } @@ -388,40 +392,11 @@ if (!text || text[0] != '"') return; - key = quoted_value(text); + key = quoted_value(text, &p); if (!key) return; - p = text; - p++; - while (*p != '"' && *p != '\0') p++; - if (*p != '"') - { - g_free(key); - return; - } - p++; - while (*p != '"' && *p != '\0') p++; - if (*p != '"') - { - g_free(key); - return; - } - - ext = quoted_value(p); - - p++; - while (*p != '"' && *p != '\0') p++; - if (*p == '"') p++; - while (*p != '"' && *p != '\0') p++; - - if (*p == '"') - { - desc = quoted_value(p); - } - else - { - desc = NULL; - } + ext = quoted_value(p, &p); + desc = quoted_value(p, &p); if (key && key[0] == '#') { @@ -502,7 +477,7 @@ sidecar_ext_list = NULL; if (quoted) - value = quoted_value(text); + value = quoted_value(text, NULL); else value = g_strdup(text);