X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Flib%2Fefreet_base.c;h=6ee01194a7979d464b34272bd2a9082ff22b0c86;hb=0182d2820871e70232e4819ec97ce38eac0f411b;hp=afb59204d9e60c0b1ab1296085ca0d749955187d;hpb=082b16efe143acbf5115aa002f5a2346d88f4beb;p=profile%2Fivi%2Fefreet.git diff --git a/src/lib/efreet_base.c b/src/lib/efreet_base.c index afb5920..6ee0119 100644 --- a/src/lib/efreet_base.c +++ b/src/lib/efreet_base.c @@ -21,6 +21,7 @@ void *alloca (size_t); #endif #include +#include #ifdef _WIN32 # include @@ -356,6 +357,7 @@ efreet_user_dir_get(const char *key, const char *fallback) EINA_ITERATOR_FOREACH(it, line) { const char *eq, *end; + Eina_Bool quote = EINA_FALSE; if (line->length < 3) continue; if (line->start[0] == '#') continue; @@ -364,9 +366,18 @@ efreet_user_dir_get(const char *key, const char *fallback) if (!eq) continue; if (strncmp(key, line->start, eq - line->start)) continue; if (++eq >= line->end) continue; - if (*eq != '"') continue; - if (++eq >= line->end) continue; - end = memchr(eq, '"', line->end - eq); + if (*eq == '"') + { + quote = EINA_TRUE; + if (++eq >= line->end) continue; + } + if (quote) + end = memchr(eq, '"', line->end - eq); + else + { + end = line->end; + while (isspace(*end)) end--; + } if (!end) continue; ret = alloca(end - eq + 1); memcpy(ret, eq, end - eq);