From c7dcd9fa61b6f4016fb448a5e9db21e918686f2d Mon Sep 17 00:00:00 2001 From: "mkaply%us.ibm.com" Date: Fri, 30 Nov 2001 20:48:13 +0000 Subject: [PATCH] Taking cls suggestion - just include string.h --- modules/libpref/src/prefapi.cpp | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/modules/libpref/src/prefapi.cpp b/modules/libpref/src/prefapi.cpp index 3f7e83a69596..25f05a03b3cc 100644 --- a/modules/libpref/src/prefapi.cpp +++ b/modules/libpref/src/prefapi.cpp @@ -70,6 +70,8 @@ #include #endif +#include + #define BOGUS_DEFAULT_INT_PREF_VALUE (-5632) #define BOGUS_DEFAULT_BOOL_PREF_VALUE (-2) @@ -1616,8 +1618,12 @@ PREF_CreateChildList(const char* parent_node, char **child_list) char* PREF_NextChild(char *child_list, int *indx) { +#if HAVE_STRTOK_R char *nextstr; - char* child = PL_strtok_r(&child_list[*indx], ";", &nextstr); + char* child = strtok_r(&child_list[*indx], ";", &nextstr); +#else + char* child = strtok(&child_list[*indx], ";"); +#endif if (child) *indx += PL_strlen(child) + 1; return child; @@ -2188,8 +2194,12 @@ static int pref_CountListMembers(char* list) { int members = 0; char* p = list = PL_strdup(list); +#ifdef HAVE_STRTOK_R char* nextstr; - for ( p = PL_strtok_r(p, ",", &nextstr); p != NULL; p = PL_strtok_r(nextstr, ",", &nextstr) ) + for ( p = strtok_r(p, ",", &nextstr); p != NULL; p = strtok_r(nextstr, ",", &nextstr) ) +#else + for ( p = strtok(p, ","); p != NULL; p = strtok(NULL, ",") ) +#endif members++; PR_FREEIF(list); return members; @@ -2207,7 +2217,9 @@ PrefResult PREF_GetListPref(const char* pref, char*** list, PRBool isDefault) char* value; char** p; int nugmembers; +#ifdef HAVE_STRTOK_R char* nextstr; +#endif *list = NULL; @@ -2219,9 +2231,15 @@ PrefResult PREF_GetListPref(const char* pref, char*** list, PRBool isDefault) p = *list = (char**) PR_MALLOC((nugmembers+1) * sizeof(char**)); if ( *list == NULL ) return PREF_ERROR; - for ( *p = PL_strtok_r(value, ",", &nextstr); +#ifdef HAVE_STRTOK_R + for ( *p = strtok_r(value, ",", &nextstr); *p != NULL; - *(++p) = PL_strtok_r(nextstr, ",", &nextstr) ) /* Empty body */ ; + *(++p) = strtok_r(nextstr, ",", &nextstr) ) /* Empty body */ ; +#else + for ( *p = strtok(value, ","); + *p != NULL; + *(++p) = strtok(NULL, ",") ) /* Empty body */ ; +#endif /* Copy each entry so that users can free them. */ for ( p = *list; *p != NULL; p++ )