# define strchr(s, c) ap_strchr(s,c)
#undef strrchr
# define strrchr(s, c) ap_strrchr(s,c)
+#undef strstr
+# define strstr(s, c) ap_strstr(s,c)
char *ap_strchr(char *s, int c);
const char *ap_strchr_c(const char *s, int c);
char *ap_strrchr(char *s, int c);
const char *ap_strrchr_c(const char *s, int c);
+char *ap_strstr(char *s, char *c);
+const char *ap_strstr_c(const char *s, const char *c);
#else
# define ap_strchr_c(s, c) strchr(s, c)
# define ap_strrchr(s, c) strrchr(s, c)
# define ap_strrchr_c(s, c) strrchr(s, c)
+# define ap_strstr(s, c) strstr(s, c)
+# define ap_strstr_c(s, c) strstr(s, c)
#endif
found = (ap_fnmatch(tuple->pattern, filename, MATCH_FLAGS) == 0);
}
else {
- found = (strstr(filename, tuple->pattern) != NULL);
+ found = (ap_strstr_c(filename, tuple->pattern) != NULL);
}
if (found) {
return tuple->description;
return HTTP_NOT_MODIFIED;
}
}
- else if (strstr(if_nonematch, etag)) {
+ else if (ap_strstr_c(if_nonematch, etag)) {
return HTTP_NOT_MODIFIED;
}
}
const char *ua;
return (ap_table_get(r->headers_in, "Request-Range") ||
((ua = ap_table_get(r->headers_in, "User-Agent"))
- && strstr(ua, "MSIE 3")));
+ && ap_strstr_c(ua, "MSIE 3")));
}
/* This routine is called by ap_table_do and merges all instances of
const char *ap_strrchr_c(const char *s, int c)
{ return strrchr(s,c); }
+#undef strstr
+
+char *ap_strstr(char *s, char *c)
+{ return strstr(s,c); }
+
+const char *ap_strstr_c(const char *s, const char *c)
+{ return strstr(s,c); }
+
#endif