Allow empty strings to be refcounted

This commit is contained in:
Emmanuele Bassi 2018-07-03 17:49:57 +01:00
parent c342105e76
commit 18605db3ac

View File

@ -120,7 +120,7 @@ g_ref_string_new (const char *str)
char *res; char *res;
gsize len; gsize len;
g_return_val_if_fail (str != NULL && *str != '\0', NULL); g_return_val_if_fail (str != NULL, NULL);
len = strlen (str); len = strlen (str);
@ -171,7 +171,7 @@ g_ref_string_new_intern (const char *str)
{ {
char *res; char *res;
g_return_val_if_fail (str != NULL && *str != '\0', NULL); g_return_val_if_fail (str != NULL, NULL);
G_LOCK (interned_ref_strings); G_LOCK (interned_ref_strings);
@ -211,7 +211,7 @@ g_ref_string_new_intern (const char *str)
char * char *
g_ref_string_acquire (char *str) g_ref_string_acquire (char *str)
{ {
g_return_val_if_fail (str != NULL && *str != '\0', NULL); g_return_val_if_fail (str != NULL, NULL);
return g_atomic_rc_box_acquire (str); return g_atomic_rc_box_acquire (str);
} }
@ -246,7 +246,7 @@ remove_if_interned (gpointer data)
void void
g_ref_string_release (char *str) g_ref_string_release (char *str)
{ {
g_return_if_fail (str != NULL && *str != '\0'); g_return_if_fail (str != NULL);
g_atomic_rc_box_release_full (str, remove_if_interned); g_atomic_rc_box_release_full (str, remove_if_interned);
} }
@ -264,7 +264,7 @@ g_ref_string_release (char *str)
gsize gsize
g_ref_string_length (char *str) g_ref_string_length (char *str)
{ {
g_return_val_if_fail (str != NULL && *str != '\0', 0); g_return_val_if_fail (str != NULL, 0);
return g_atomic_rc_box_get_size (str) - 1; return g_atomic_rc_box_get_size (str) - 1;
} }