diff --git a/glib/gregex.c b/glib/gregex.c index 6bb655818..7be508c54 100644 --- a/glib/gregex.c +++ b/glib/gregex.c @@ -1110,7 +1110,7 @@ g_regex_unref (GRegex *regex) { g_return_if_fail (regex != NULL); - if (g_atomic_int_exchange_and_add (®ex->ref_count, -1) - 1 == 0) + if (g_atomic_int_dec_and_test (®ex->ref_count)) { g_free (regex->pattern); if (regex->pcre_re != NULL)