summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2014-10-05 13:20:27 +0200
committerAnatol Belski <ab@php.net>2014-10-05 13:20:27 +0200
commitd58b70622a7e99ceee074e420d9271c2d8de116c (patch)
treead1e58504e4e54810fd2b2a3a18484a55a0d654c
parent7c7b9184b1fdf7add1715079f22241bc1185fcb0 (diff)
downloadphp-git-d58b70622a7e99ceee074e420d9271c2d8de116c.tar.gz
properly export tsrm_strtok_r()
for this particular case fixing phar shared build, but for the general usage anyway
-rw-r--r--TSRM/tsrm_strtok_r.c2
-rw-r--r--TSRM/tsrm_strtok_r.h4
-rw-r--r--ext/phar/phar.c48
3 files changed, 4 insertions, 50 deletions
diff --git a/TSRM/tsrm_strtok_r.c b/TSRM/tsrm_strtok_r.c
index e9ad26a7ac..2522cf1d48 100644
--- a/TSRM/tsrm_strtok_r.c
+++ b/TSRM/tsrm_strtok_r.c
@@ -14,7 +14,7 @@ static inline int in_character_class(char ch, const char *delim)
return 0;
}
-char *tsrm_strtok_r(char *s, const char *delim, char **last)
+TSRM_API char *tsrm_strtok_r(char *s, const char *delim, char **last)
{
char *token;
diff --git a/TSRM/tsrm_strtok_r.h b/TSRM/tsrm_strtok_r.h
index 8c9e8198e7..323b401d99 100644
--- a/TSRM/tsrm_strtok_r.h
+++ b/TSRM/tsrm_strtok_r.h
@@ -1,6 +1,8 @@
#ifndef TSRM_STRTOK_R
#define TSRM_STRTOK_R
-char *tsrm_strtok_r(char *s, const char *delim, char **last);
+#include "TSRM.h"
+
+TSRM_API char *tsrm_strtok_r(char *s, const char *delim, char **last);
#endif
diff --git a/ext/phar/phar.c b/ext/phar/phar.c
index 8f17c771d1..cdc61fee88 100644
--- a/ext/phar/phar.c
+++ b/ext/phar/phar.c
@@ -2072,54 +2072,6 @@ static int php_check_dots(const char *element, int n) /* {{{ */
#define IS_BACKSLASH(c) ((c) == '/')
-#ifdef COMPILE_DL_PHAR
-/* stupid-ass non-extern declaration in tsrm_strtok.h breaks dumbass MS compiler */
-static inline int in_character_class(char ch, const char *delim) /* {{{ */
-{
- while (*delim) {
- if (*delim == ch) {
- return 1;
- }
- ++delim;
- }
- return 0;
-}
-/* }}} */
-
-char *tsrm_strtok_r(char *s, const char *delim, char **last) /* {{{ */
-{
- char *token;
-
- if (s == NULL) {
- s = *last;
- }
-
- while (*s && in_character_class(*s, delim)) {
- ++s;
- }
-
- if (!*s) {
- return NULL;
- }
-
- token = s;
-
- while (*s && !in_character_class(*s, delim)) {
- ++s;
- }
-
- if (!*s) {
- *last = s;
- } else {
- *s = '\0';
- *last = s + 1;
- }
-
- return token;
-}
-/* }}} */
-#endif
-
/**
* Remove .. and . references within a phar filename
*/