On 12/04/2012 03:01, Akira TAGOH wrote: > configure.in | 9 +++++++++ > src/fcstr.c | 6 ++++-- > 2 files changed, 13 insertions(+), 2 deletions(-) > > New commits: > commit ac6271dbac32086ce60845efc4d87e669f37796a > Author: Akira TAGOH <akira@xxxxxxxxx> > Date: Thu Apr 12 11:01:12 2012 +0900 > > Bug 48573 - platform without regex do not have also REG_XXX defines > > Fix a build issue on the platforms where regex isn't available I came across a couple of issues building for mingw after this change. Patch attached. > diff --git a/configure.in b/configure.in > index 39ae5a9..3f5c98b 100644 > --- a/configure.in > +++ b/configure.in > @@ -136,6 +136,15 @@ AC_FUNC_MMAP > AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long sysconf ftruncate chsize rand random lrand48 random_r rand_r regcomp regerror regexec regfree]) > > # > +# regex > +# > +use_regex=0 > +if test "x$ac_cv_func_regcomp" = "xyes" -a "x$ac_cv_func_regerror" = "xyes" -a "x$ac_cv_func_regexec" = "xyes" -a "x$ac_cv_func_regfree"; then > + use_regex=1 > +fi > +AC_DEFINE_UNQUOTED(USE_REGEX,$use_regex,[Use regex.]) > + > +# > # Checks for iconv > # > AC_ARG_WITH(libiconv, > diff --git a/src/fcstr.c b/src/fcstr.c > index 9484d46..a6f0ba7 100644 > --- a/src/fcstr.c > +++ b/src/fcstr.c > @@ -272,11 +272,11 @@ FcStrCmp (const FcChar8 *s1, const FcChar8 *s2) > return (int) c1 - (int) c2; > } > > +#ifdef USE_REGEX USE_REGEX is always defined, we should check it's value here. > static FcBool > _FcStrRegexCmp (const FcChar8 *s, const FcChar8 *regex, int cflags, int eflags) > { > int ret = -1; > -#if defined (HAVE_REGCOMP) && defined (HAVE_REGERROR) && defined (HAVE_REGEXEC) && defined (HAVE_REGFREE) > regex_t reg; > > if ((ret = regcomp (®, (const char *)regex, cflags)) != 0) > @@ -302,10 +302,12 @@ _FcStrRegexCmp (const FcChar8 *s, const FcChar8 *regex, int cflags, int eflags) > } > } > regfree (®); > -#endif > > return ret == 0 ? FcTrue : FcFalse; > } > +#else > +# define _FcStrRegexCmp(_s_, _regex_) (FcFalse) > +#endif This macro has fewer arguments than the function
>From 8f5de0052f4dbdbbe7311940fe72defe87ec8aec Mon Sep 17 00:00:00 2001 From: Jon TURNEY <jon.turney@xxxxxxxxxxxxxxxx> Date: Fri, 20 Apr 2012 10:45:19 +0100 Subject: [PATCH] Fix compilation on platforms without regex Fix up changes in ac6271dbac32086ce60845efc4d87e669f37796a. - USE_REGEX is always defined, so we should check it's value, not for existence - _FcStrRegexCmp() macro has wrong number of arguments Signed-off-by: Jon TURNEY <jon.turney@xxxxxxxxxxxxxxxx> --- src/fcstr.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fcstr.c b/src/fcstr.c index a6f0ba7..534f3f3 100644 --- a/src/fcstr.c +++ b/src/fcstr.c @@ -272,7 +272,7 @@ FcStrCmp (const FcChar8 *s1, const FcChar8 *s2) return (int) c1 - (int) c2; } -#ifdef USE_REGEX +#if USE_REGEX static FcBool _FcStrRegexCmp (const FcChar8 *s, const FcChar8 *regex, int cflags, int eflags) { @@ -306,7 +306,7 @@ _FcStrRegexCmp (const FcChar8 *s, const FcChar8 *regex, int cflags, int eflags) return ret == 0 ? FcTrue : FcFalse; } #else -# define _FcStrRegexCmp(_s_, _regex_) (FcFalse) +# define _FcStrRegexCmp(_s_, _regex_, _cflags_, _eflags_) (FcFalse) #endif FcBool -- 1.7.9
_______________________________________________ Fontconfig mailing list Fontconfig@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/fontconfig