/** configuration vector structure */
typedef struct ap_conf_vector_t ap_conf_vector_t;
-#if defined(AP_DEBUG) || defined(DOXYGEN)
/**
* Generic accessors for other modules to get at their own module-specific
* data
AP_DECLARE(void) ap_set_module_config(ap_conf_vector_t *cv, const module *m,
void *val);
-#else /* AP_DEBUG */
+#if defined(AP_DEBUG)
#define ap_get_module_config(v,m) \
(((void **)(v))[(m)->module_index])
*/
#include <string.h>
+AP_DECLARE(char *) ap_strchr(char *s, int c);
+AP_DECLARE(const char *) ap_strchr_c(const char *s, int c);
+AP_DECLARE(char *) ap_strrchr(char *s, int c);
+AP_DECLARE(const char *) ap_strrchr_c(const char *s, int c);
+AP_DECLARE(char *) ap_strstr(char *s, const char *c);
+AP_DECLARE(const char *) ap_strstr_c(const char *s, const char *c);
+
#ifdef AP_DEBUG
#undef strchr
#undef strstr
# define strstr(s, c) ap_strstr(s,c)
-AP_DECLARE(char *) ap_strchr(char *s, int c);
-AP_DECLARE(const char *) ap_strchr_c(const char *s, int c);
-AP_DECLARE(char *) ap_strrchr(char *s, int c);
-AP_DECLARE(const char *) ap_strrchr_c(const char *s, int c);
-AP_DECLARE(char *) ap_strstr(char *s, const char *c);
-AP_DECLARE(const char *) ap_strstr_c(const char *s, const char *c);
-
#else
/** use this instead of strchr */
#include "httpd.h"
#include "http_config.h"
-#ifdef AP_DEBUG
-
-/* get rid of the macros we defined in httpd.h */
+/* Possibly get rid of the macros we defined in httpd.h */
+#if defined(strchr)
#undef strchr
+#endif
+
+#if defined (strrchr)
#undef strrchr
+#endif
+
+#if defined (strstr)
#undef strstr
+#endif
+
+
+#if defined(ap_strchr)
+#undef ap_strchr
+AP_DECLARE(char *) ap_strchr(char *s, int c);
+#endif
AP_DECLARE(char *) ap_strchr(char *s, int c)
{
return strchr(s,c);
}
+
+#if defined(ap_strchr_c)
+#undef ap_strchr_c
+AP_DECLARE(const char *) ap_strchr_c(const char *s, int c);
+#endif
+
AP_DECLARE(const char *) ap_strchr_c(const char *s, int c)
{
return strchr(s,c);
}
+
+#if defined(ap_strrchr)
+#undef ap_strrchr
+AP_DECLARE(char *) ap_strrchr(char *s, int c);
+#endif
+
AP_DECLARE(char *) ap_strrchr(char *s, int c)
{
return strrchr(s,c);
}
+
+#if defined(ap_strrchr_c)
+#undef ap_strrchr_c
+AP_DECLARE(const char *) ap_strrchr_c(const char *s, int c);
+#endif
+
AP_DECLARE(const char *) ap_strrchr_c(const char *s, int c)
{
return strrchr(s,c);
}
+
+#if defined(ap_strstr)
+#undef ap_strstr
+AP_DECLARE(char *) ap_strstr(char *s, const char *c);
+#endif
+
AP_DECLARE(char *) ap_strstr(char *s, const char *c)
{
return strstr(s,c);
}
+
+#if defined(ap_strstr_c)
+#undef ap_strstr_c
+AP_DECLARE(const char *) ap_strstr_c(const char *s, const char *c);
+#endif
+
AP_DECLARE(const char *) ap_strstr_c(const char *s, const char *c)
{
return strstr(s,c);
}
+#if defined(ap_get_module_config)
+#undef ap_get_module_config
+AP_DECLARE(void *) ap_get_module_config(const ap_conf_vector_t *cv,
+ const module *m);
+#endif
AP_DECLARE(void *) ap_get_module_config(const ap_conf_vector_t *cv,
const module *m)
* @param val The module-specific data to set
* @deffunc void ap_set_module_config(ap_conf_vector_t *cv, const module *m, void *val)
*/
+#if defined(ap_set_module_config)
+#undef ap_set_module_config
+AP_DECLARE(void) ap_set_module_config(ap_conf_vector_t *cv, const module *m,
+ void *val);
+#endif
+
AP_DECLARE(void) ap_set_module_config(ap_conf_vector_t *cv, const module *m,
void *val)
{
((void **)cv)[m->module_index] = val;
}
-
-
-#endif /* AP_DEBUG */