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) {