Pass an unsigned long instead of an int to pcre_fullinfo() to avoid

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
This commit is contained in:
Marco Barisione 2007-11-19 14:06:18 +00:00 committed by Marco Barisione
parent d887ff42eb
commit 9f86f44826
2 changed files with 6 additions and 1 deletions

View File

@ -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.

View 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))
{