Move strtok_r implementation verbatim to helpers.c
Corresponding to flashrom svn r1853.
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
diff --git a/flash.h b/flash.h
index ff4b06b..81fd61b 100644
--- a/flash.h
+++ b/flash.h
@@ -255,6 +255,9 @@
int min(int a, int b);
char *strcat_realloc(char *dest, const char *src);
void tolower_string(char *str);
+#ifdef __MINGW32__
+char* strtok_r(char *str, const char *delim, char **nextp);
+#endif
/* flashrom.c */
extern const char flashrom_version[];
diff --git a/helpers.c b/helpers.c
index 63fc880..5685d29 100644
--- a/helpers.c
+++ b/helpers.c
@@ -70,3 +70,24 @@
*str = (char)tolower((unsigned char)*str);
}
+/* FIXME: Find a better solution for MinGW. Maybe wrap strtok_s (C11) if it becomes available */
+#ifdef __MINGW32__
+char* strtok_r(char *str, const char *delim, char **nextp)
+{
+ if (str == NULL)
+ str = *nextp;
+
+ str += strspn(str, delim); /* Skip leading delimiters */
+ if (*str == '\0')
+ return NULL;
+
+ char *ret = str;
+ str += strcspn(str, delim); /* Find end of token */
+ if (*str != '\0')
+ *str++ = '\0';
+
+ *nextp = str;
+ return ret;
+}
+#endif
+
diff --git a/print.c b/print.c
index 243aa49..a522085 100644
--- a/print.c
+++ b/print.c
@@ -26,27 +26,6 @@
#include "flash.h"
#include "programmer.h"
-/* FIXME: Find a better solution for MinGW. Maybe wrap strtok_s (C11) below if it becomes available */
-#ifdef __MINGW32__
-static char* strtok_r(char *str, const char *delim, char **nextp)
-{
- if (str == NULL)
- str = *nextp;
-
- str += strspn(str, delim); /* Skip leading delimiters */
- if (*str == '\0')
- return NULL;
-
- char *ret = str;
- str += strcspn(str, delim); /* Find end of token */
- if (*str != '\0')
- *str++ = '\0';
-
- *nextp = str;
- return ret;
-}
-#endif
-
static const char *test_state_to_text(enum test_state test_state)
{
switch (test_state) {