Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | Upstream-Status: Inappropriate [debian patch] |
| 2 | |
| 3 | This patch address a namespace collision with libc. |
| 4 | |
| 5 | Although there is no "#include <regex.h>" in the source file, at |
| 6 | runtime, it's unintentionally linked to the libc version, the regcomp of |
| 7 | libc is called instead the pcre one using pcre's data structure... |
| 8 | that looks like a disaster. |
| 9 | |
| 10 | Can patch is from Debian (and Ubuntu 11.04alpha has it also). |
| 11 | |
| 12 | [sgw: added patch comment] |
| 13 | Signed-off-by: Qing He <qing.he@intel.com> |
| 14 | Signed-off-by: Saul Wold <sgw@linux.intel.com> |
| 15 | |
| 16 | --- a/pcreposix.h 2010-05-17 00:17:23.000000000 +0800 |
| 17 | +++ b/pcreposix.h 2009-01-15 04:32:17.000000000 +0800 |
| 18 | @@ -133,14 +130,19 @@ |
| 19 | |
| 20 | /* The functions */ |
| 21 | |
| 22 | -PCREPOSIX_EXP_DECL int regcomp(regex_t *, const char *, int); |
| 23 | -PCREPOSIX_EXP_DECL int regexec(const regex_t *, const char *, size_t, |
| 24 | +PCREPOSIX_EXP_DECL int pcreposix_regcomp(regex_t *, const char *, int); |
| 25 | +PCREPOSIX_EXP_DECL int pcreposix_regexec(const regex_t *, const char *, size_t, |
| 26 | regmatch_t *, int); |
| 27 | -PCREPOSIX_EXP_DECL size_t regerror(int, const regex_t *, char *, size_t); |
| 28 | -PCREPOSIX_EXP_DECL void regfree(regex_t *); |
| 29 | +PCREPOSIX_EXP_DECL size_t pcreposix_regerror(int, const regex_t *, char *, size_t); |
| 30 | +PCREPOSIX_EXP_DECL void pcreposix_regfree(regex_t *); |
| 31 | |
| 32 | #ifdef __cplusplus |
| 33 | } /* extern "C" */ |
| 34 | #endif |
| 35 | |
| 36 | +#define regcomp pcreposix_regcomp |
| 37 | +#define regexec pcreposix_regexec |
| 38 | +#define regerror pcreposix_regerror |
| 39 | +#define regfree pcreposix_regfree |
| 40 | + |
| 41 | #endif /* End of pcreposix.h */ |