diff --git a/AUTHORS b/AUTHORS index c4be95a7aa..2a705de5b3 100644 --- a/AUTHORS +++ b/AUTHORS @@ -54,7 +54,8 @@ Rajeev Ranjan (Rajeev) Subodh Kumar Michelle Legrand Shilpa Singh - +Prasoon Singh + Eet --- diff --git a/src/lib/eina/eina_str.c b/src/lib/eina/eina_str.c index b9f0c034ff..53e27d5a56 100644 --- a/src/lib/eina/eina_str.c +++ b/src/lib/eina/eina_str.c @@ -668,24 +668,27 @@ eina_str_escape(const char *str) { *d = '\\'; d++; + *d = *s; break; } case '\n': { *d = '\\'; d++; - *d = 'n'; d++; - s++; + *d = 'n'; break; } case '\t': { *d = '\\'; d++; - *d = 't'; d++; - s++; + *d = 't'; + break; + } + default: + { + *d = *s; break; } } - *d = *s; } *d = 0; return s2; diff --git a/src/tests/eina/eina_test_str.c b/src/tests/eina/eina_test_str.c index 63acec9e00..23c8c6cf87 100644 --- a/src/tests/eina/eina_test_str.c +++ b/src/tests/eina/eina_test_str.c @@ -108,6 +108,13 @@ START_TEST(str_simple) free(str); free(ret); + str = malloc(sizeof(char) * 4); + strcpy(str, "a\t "); + ret = eina_str_escape(str); + fail_if(!eina_streq(ret, "a\\t\\ ")); + free(str); + free(ret); + eina_shutdown(); } END_TEST