blob: 89b44f6aa6ff9c97fd03c0b23b6910f5d22eb10c [file] [log] [blame]
Upstream-Status: Inappropriate [debian patch]
This patch address a namespace collision with libc.
Although there is no "#include <regex.h>" in the source file, at
runtime, it's unintentionally linked to the libc version, the regcomp of
libc is called instead the pcre one using pcre's data structure...
that looks like a disaster.
Can patch is from Debian (and Ubuntu 11.04alpha has it also).
[sgw: added patch comment]
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
--- a/pcreposix.h 2010-05-17 00:17:23.000000000 +0800
+++ b/pcreposix.h 2009-01-15 04:32:17.000000000 +0800
@@ -133,14 +130,19 @@
/* The functions */
-PCREPOSIX_EXP_DECL int regcomp(regex_t *, const char *, int);
-PCREPOSIX_EXP_DECL int regexec(const regex_t *, const char *, size_t,
+PCREPOSIX_EXP_DECL int pcreposix_regcomp(regex_t *, const char *, int);
+PCREPOSIX_EXP_DECL int pcreposix_regexec(const regex_t *, const char *, size_t,
regmatch_t *, int);
-PCREPOSIX_EXP_DECL size_t regerror(int, const regex_t *, char *, size_t);
-PCREPOSIX_EXP_DECL void regfree(regex_t *);
+PCREPOSIX_EXP_DECL size_t pcreposix_regerror(int, const regex_t *, char *, size_t);
+PCREPOSIX_EXP_DECL void pcreposix_regfree(regex_t *);
#ifdef __cplusplus
} /* extern "C" */
#endif
+#define regcomp pcreposix_regcomp
+#define regexec pcreposix_regexec
+#define regerror pcreposix_regerror
+#define regfree pcreposix_regfree
+
#endif /* End of pcreposix.h */