--- glib/pcre/pcre_compile.c.orig 2008-06-30 10:42:54.000000000 +0300 +++ glib/pcre/pcre_compile.c 2008-06-30 10:43:10.000000000 +0300 @@ -4699,11 +4699,11 @@ we set the flag only if there is a liter { if (code == cd->start_code + 1 + LINK_SIZE && (lengthptr == NULL || *lengthptr == 2 + 2*LINK_SIZE)) { cd->external_options = newoptions; - options = newoptions; + options = *optionsptr = newoptions; } else { if ((options & PCRE_IMS) != (newoptions & PCRE_IMS)) {