#endif
#include <unistd.h>
+#include <ctype.h>
#ifdef _WIN32
# include <winsock2.h>
EINA_ITERATOR_FOREACH(it, line)
{
const char *eq, *end;
+ Eina_Bool quote = EINA_FALSE;
if (line->length < 3) continue;
if (line->start[0] == '#') continue;
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);