From: Andi Gutmans Date: Wed, 6 Sep 2000 20:27:12 +0000 (+0000) Subject: - Centralize some configuration stuff X-Git-Tag: php-4.0.3RC1~266 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b8a95da22ab157b85fb1cf6c55c1ce71da420248;p=php - Centralize some configuration stuff - Use inline in my strtok_r implementation --- diff --git a/TSRM/tsrm_config.w32.h b/TSRM/tsrm_config.w32.h index 709d9003f9..405d8c7c8f 100644 --- a/TSRM/tsrm_config.w32.h +++ b/TSRM/tsrm_config.w32.h @@ -2,5 +2,14 @@ #define TSRM_CONFIG_W32_H #define HAVE_UTIME 1 +#define HAVE_ALLOCA 1 + +#undef inline +#ifdef ZEND_WIN32_FORCE_INLINE +# define inline __forceinline +#else +# define inline +#endif + #endif diff --git a/TSRM/tsrm_config_common.h b/TSRM/tsrm_config_common.h new file mode 100644 index 0000000000..1bec4d86f8 --- /dev/null +++ b/TSRM/tsrm_config_common.h @@ -0,0 +1,22 @@ +#ifndef TSRM_CONFIG_COMMON_H +#define TSRM_CONFIG_COMMON_H + +#if WINNT|WIN32 +# define TSRM_WIN32 +#endif + +#ifndef TSRM_WIN32 +# include "tsrm_config.h" +#else +# include "tsrm_config.w32.h" +#endif + +#if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2)) +# define tsrm_do_alloca(p) alloca(p) +# define tsrm_free_alloca(p) +#else +# define tsrm_do_alloca(p) malloc(p) +# define tsrm_free_alloca(p) free(p) +#endif + +#endif /* TSRM_CONFIG_COMMON_H */ diff --git a/TSRM/tsrm_strtok_r.c b/TSRM/tsrm_strtok_r.c index b631825140..e9ad26a7ac 100644 --- a/TSRM/tsrm_strtok_r.c +++ b/TSRM/tsrm_strtok_r.c @@ -1,8 +1,9 @@ -#include "tsrm_strtok_r.h" - #include -static int in_character_class(char ch, const char *delim) +#include "tsrm_config_common.h" +#include "tsrm_strtok_r.h" + +static inline int in_character_class(char ch, const char *delim) { while (*delim) { if (*delim == ch) { diff --git a/TSRM/tsrm_virtual_cwd.c b/TSRM/tsrm_virtual_cwd.c index e1d7d492c3..e19a8b2513 100644 --- a/TSRM/tsrm_virtual_cwd.c +++ b/TSRM/tsrm_virtual_cwd.c @@ -37,16 +37,6 @@ #define MAXPATHLEN 256 #endif -#ifndef do_alloca -# if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2)) && !(defined(ZTS) && defined(TSRM_WIN32)) -# define do_alloca(p) alloca(p) -# define free_alloca(p) -# else -# define do_alloca(p) malloc(p) -# define free_alloca(p) free(p) -# endif -#endif - #ifdef TSRM_WIN32 #include #endif @@ -444,14 +434,14 @@ CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path if (length == COPY_WHEN_ABSOLUTE && IS_ABSOLUTE_PATH(path, length+1)) { /* Also use trailing slash if this is absolute */ length++; } - temp = (char *) do_alloca(length+1); + temp = (char *) tsrm_do_alloca(length+1); memcpy(temp, path, length); temp[length] = 0; #if VIRTUAL_CWD_DEBUG fprintf (stderr, "Changing directory to %s\n", temp); #endif retval = p_chdir(temp); - free_alloca(temp); + tsrm_free_alloca(temp); return retval; } diff --git a/TSRM/tsrm_virtual_cwd.h b/TSRM/tsrm_virtual_cwd.h index 0a882c364c..eee3ad0480 100644 --- a/TSRM/tsrm_virtual_cwd.h +++ b/TSRM/tsrm_virtual_cwd.h @@ -22,15 +22,7 @@ #ifndef VIRTUAL_CWD_H #define VIRTUAL_CWD_H -#ifdef WIN32 -# define TSRM_WIN32 -#endif - -#ifndef TSRM_WIN32 -# include "tsrm_config.h" -#else -# include "tsrm_config.w32.h" -#endif +#include "tsrm_config_common.h" #include #include