diff --git a/src/ddsrt/include/dds/ddsrt/string.h b/src/ddsrt/include/dds/ddsrt/string.h index 1d449b7..7fca58c 100644 --- a/src/ddsrt/include/dds/ddsrt/string.h +++ b/src/ddsrt/include/dds/ddsrt/string.h @@ -52,21 +52,6 @@ ddsrt_strncasecmp( size_t n) ddsrt_nonnull((1,2)); -/** - * @brief Split string into tokens. - * - * @param[in] str String to split into tokens. - * @param[in] delim Characters that delimit a token. - * @param[in,out] saveptr Pointer to a char * used internally. - * - * @returns The next token or NULL if there are no more tokens. - */ -DDS_EXPORT char * -ddsrt_strtok_r( - char *str, - const char *delim, - char **saveptr); - /** * @brief Extract token from string. * diff --git a/src/ddsrt/src/string.c b/src/ddsrt/src/string.c index 24d2631..d048e5f 100644 --- a/src/ddsrt/src/string.c +++ b/src/ddsrt/src/string.c @@ -12,9 +12,6 @@ #include #include #include -#if defined(__IAR_SYSTEMS_ICC__) -#define _DLIB_ADD_EXTRA_SYMBOLS /* Export strtok_r. */ -#endif #include #include "dds/ddsrt/heap.h" @@ -65,19 +62,6 @@ ddsrt_strncasecmp( return cr; } -char * -ddsrt_strtok_r( - char *str, - const char *delim, - char **saveptr) -{ -#if _WIN32 - return strtok_s(str, delim, saveptr); -#else - return strtok_r(str, delim, saveptr); -#endif -} - char * ddsrt_strsep(char **str, const char *sep) { diff --git a/src/ddsrt/tests/string.c b/src/ddsrt/tests/string.c index cd3ffbf..eae2cc7 100644 --- a/src/ddsrt/tests/string.c +++ b/src/ddsrt/tests/string.c @@ -67,35 +67,3 @@ CU_Theory((const char *s1, const char *s2, size_t n, eq_t e), ddsrt_strncasecmp, CU_ASSERT((e == eq && r == 0) || (e == lt && r < 0) || (e == gt && r > 0)); } -CU_Test(ddsrt_string, strtok_r) -{ - char *res; - char *saveptr; - char ts1[] = "123,234"; - char ts2[] = ",;,123abc,,456,:,"; - char ts3[] = ",,,123,,456,789,,,"; - - res = ddsrt_strtok_r(ts1, ",", &saveptr); - CU_ASSERT(strcmp(res, "123") == 0); - res = ddsrt_strtok_r( NULL, ",", &saveptr); - CU_ASSERT(strcmp(res, "234") == 0); - res = ddsrt_strtok_r( NULL, ",", &saveptr); - CU_ASSERT(res == NULL); - - res = ddsrt_strtok_r(ts2, ",;", &saveptr); - CU_ASSERT(strcmp(res, "123abc") == 0); - res = ddsrt_strtok_r( NULL, ",", &saveptr); - CU_ASSERT(strcmp(res, "456") == 0); - res = ddsrt_strtok_r( NULL, ",:", &saveptr); - CU_ASSERT(res == NULL); - - res = ddsrt_strtok_r(ts3, ",", &saveptr); - CU_ASSERT(strcmp(res, "123") == 0); - res = ddsrt_strtok_r( NULL, ",", &saveptr); - CU_ASSERT(strcmp(res, "456") == 0); - res = ddsrt_strtok_r( NULL, ",", &saveptr); - CU_ASSERT(strcmp(res, "789") == 0); - res = ddsrt_strtok_r( NULL, ",:", &saveptr); - CU_ASSERT(res == NULL); -} - diff --git a/src/tools/pubsub/pubsub.c b/src/tools/pubsub/pubsub.c index e3c356f..b810d24 100644 --- a/src/tools/pubsub/pubsub.c +++ b/src/tools/pubsub/pubsub.c @@ -2516,10 +2516,10 @@ int main(int argc, char *argv[]) { } break; case 'S': { - char *copy = dds_string_dup(optarg), *tok, *lasts; + char *copy = dds_string_dup(optarg), *tok, *cursor = copy; if (copy == NULL) abort(); - tok = ddsrt_strtok_r(copy, ",", &lasts); + tok = ddsrt_strsep(&cursor, ","); while (tok) { if (strcmp(tok, "pr") == 0 || strcmp(tok, "pre-read") == 0) spec[specidx].rd.print_match_pre_read = 1; @@ -2551,7 +2551,7 @@ int main(int argc, char *argv[]) { fprintf (stderr, "-S %s: invalid event\n", tok); exit(2); } - tok = ddsrt_strtok_r(NULL, ",", &lasts); + tok = ddsrt_strsep(&cursor, ","); } dds_free(copy); }