diff options
Diffstat (limited to 'recipes-support/libpcre/libpcre/fix-pcre-name-collision.patch')
-rw-r--r-- | recipes-support/libpcre/libpcre/fix-pcre-name-collision.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/recipes-support/libpcre/libpcre/fix-pcre-name-collision.patch b/recipes-support/libpcre/libpcre/fix-pcre-name-collision.patch new file mode 100644 index 0000000..89b44f6 --- /dev/null +++ b/recipes-support/libpcre/libpcre/fix-pcre-name-collision.patch | |||
@@ -0,0 +1,41 @@ | |||
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 */ | ||