add delimiters as \n(line feed) 01/107301/1
authorJeesun Kim <iamjs.kim@samsung.com>
Tue, 27 Dec 2016 10:58:06 +0000 (19:58 +0900)
committerJeesun Kim <iamjs.kim@samsung.com>
Tue, 27 Dec 2016 10:58:18 +0000 (19:58 +0900)
Change-Id: Ibc40dbb737de13f002cd46a977f2007ddc4f7154

server/ctsvc_utils_string.c

index b2211f0..2245134 100644 (file)
@@ -484,17 +484,26 @@ static bool _get_modified_number(char *temp, char *keyword, int *out_len_keyword
        return true;
 }
 
-static char *_strchr_with_nth(char *end_pointer, char *s, int c, int nth)
+static char *_strchr_with_nth(char *end_pointer, char *s, char *delimiters, int nth)
 {
+       RETV_IF(NULL == delimiters, s);
+       RETV_IF('\0' == *delimiters, s);
+
+       int i;
        char *cursor = s;
+       int len_delimiters = strlen(delimiters);
+
        while (*cursor) {
                if (end_pointer <= cursor) {
                        ERR("over end");
                        return end_pointer;
                }
-               if (*cursor == c)
-                       nth--;
-
+               for (i = 0; i < len_delimiters; i++) {
+                       if (*cursor == delimiters[i]) {
+                               nth--;
+                               break;
+                       }
+               }
                if (nth < 0)
                        break;
 
@@ -503,9 +512,15 @@ static char *_strchr_with_nth(char *end_pointer, char *s, int c, int nth)
        return cursor;
 }
 
-static char *_strrchr_with_nth(char *start_pointer, char *s, int c, int nth)
+static char *_strrchr_with_nth(char *start_pointer, char *s, char *delimiters, int nth)
 {
+       RETV_IF(NULL == delimiters, s);
+       RETV_IF('\0' == *delimiters, s);
+
+       int i;
        char *cursor = s;
+       int len_delimiters = strlen(delimiters);
+
        while (*cursor) {
                if (cursor <= start_pointer) {
                        /* LCOV_EXCL_START */
@@ -513,9 +528,12 @@ static char *_strrchr_with_nth(char *start_pointer, char *s, int c, int nth)
                        return start_pointer;
                        /* LCOV_EXCL_STOP */
                }
-               if (*cursor == c)
-                       nth--;
-
+               for (i = 0; i < len_delimiters; i++) {
+                       if (*cursor == delimiters[i]) {
+                               nth--;
+                               break;
+                       }
+               }
                if (nth < 0)
                        break;
 
@@ -611,9 +629,9 @@ char *ctsvc_utils_get_modified_str(char *temp, bool is_snippet, const char *keyw
                return mod_temp;
 
        char *cursor = NULL;
-       cursor = _strchr_with_nth(mod_temp + len_full, keyword_start, ' ', token_number);
+       cursor = _strchr_with_nth(mod_temp + len_full, keyword_start, " \n", token_number);
        *cursor = '\0';
-       cursor = _strrchr_with_nth(mod_temp, keyword_start, ' ', token_number);
+       cursor = _strrchr_with_nth(mod_temp, keyword_start, " \n", token_number);
        memcpy(mod_temp, cursor, len_full);
 
        return mod_temp;