Pass an unsigned long instead of an int to pcre_fullinfo() to avoid
authorMarco Barisione <marco@barisione.org>
Mon, 19 Nov 2007 14:06:18 +0000 (14:06 +0000)
committerMarco Barisione <mbari@src.gnome.org>
Mon, 19 Nov 2007 14:06:18 +0000 (14:06 +0000)
2007-11-19  Marco Barisione  <marco@barisione.org>

* glib/gregex.c: Pass an unsigned long instead of an int to
pcre_fullinfo() to avoid problems on 64-bit systems

svn path=/trunk/; revision=5869

ChangeLog
glib/gregex.c

index e33086c..cc339fd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@
        * glib/gregex.c: When the compilation of a pattern fails in the error
        message use the character offset and not the byte offset.
 
+       * glib/gregex.c: Pass an unsigned long instead of an int to
+       pcre_fullinfo() to avoid problems on 64-bit systems
+
 2007-11-19 10:30:33  Tim Janik  <timj@imendio.com>
 
        * configure.in: updated version number to 2.15.0 for development.
index d0acc8b..b5bc6a1 100644 (file)
@@ -858,6 +858,7 @@ g_regex_new (const gchar         *pattern,
   gint erroffset;
   gboolean optimize = FALSE;
   static gboolean initialized = FALSE;
+  unsigned long int pcre_compile_options;
 
   g_return_val_if_fail (pattern != NULL, NULL);
   g_return_val_if_fail (error == NULL || *error == NULL, NULL);
@@ -942,7 +943,8 @@ g_regex_new (const gchar         *pattern,
   /* For options set at the beginning of the pattern, pcre puts them into
    * compile options, e.g. "(?i)foo" will make the pcre structure store
    * PCRE_CASELESS even though it wasn't explicitly given for compilation. */
-  pcre_fullinfo (re, NULL, PCRE_INFO_OPTIONS, &compile_options);
+  pcre_fullinfo (re, NULL, PCRE_INFO_OPTIONS, &pcre_compile_options);
+  compile_options = pcre_compile_options;
 
   if (!(compile_options & G_REGEX_DUPNAMES))
     {