mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-22 08:58:54 +02:00
updated
Thu Jun 29 15:57:28 2000 Owen Taylor <otaylor@redhat.com> * NEWS: updated * Makefile.am: added snapcheck target to go along with snapshot * gstring.c glib.h (g_string_hash): Add g_string_hash to go along with g_string_equal. Tue Jun 27 12:40:23 EDT 2000 David A. Wheeler <dwheeler@dwheeler.com> * glib.h: Added g_string_equal for comparing GStrings; changed g_str_equal so it returns gboolean (instead of gint). * gstring.c: Modified GString implementation to support embedded ASCII NUL ('\0') characters, and implemented g_string_equal. * testglib.c tests/string-test.c: Added tests for g_string_equal and tests for proper handling of embedded ASCII NUL characters.
This commit is contained in:
@@ -180,6 +180,35 @@ main (int argc,
|
||||
g_assert (strcmp (string1->str, "firstlast") == 0);
|
||||
g_string_free (string1, TRUE);
|
||||
|
||||
/* g_string_equal */
|
||||
string1 = g_string_new ("test");
|
||||
string2 = g_string_new ("te");
|
||||
g_assert (! g_string_equal(string1, string2));
|
||||
g_string_append (string2, "st");
|
||||
g_assert (g_string_equal(string1, string2));
|
||||
g_string_free (string1, TRUE);
|
||||
g_string_free (string2, TRUE);
|
||||
|
||||
/* Check handling of embedded ASCII 0 (NUL) characters in GString. */
|
||||
string1 = g_string_new ("fiddle");
|
||||
string2 = g_string_new ("fiddle");
|
||||
g_assert (g_string_equal(string1, string2));
|
||||
g_string_append_c(string1, '\0');
|
||||
g_assert (! g_string_equal(string1, string2));
|
||||
g_string_append_c(string2, '\0');
|
||||
g_assert (g_string_equal(string1, string2));
|
||||
g_string_append_c(string1, 'x');
|
||||
g_string_append_c(string2, 'y');
|
||||
g_assert (! g_string_equal(string1, string2));
|
||||
g_assert (string1->len == 8);
|
||||
g_string_append(string1, "yzzy");
|
||||
g_assert (string1->len == 12);
|
||||
g_assert ( memcmp(string1->str, "fiddle\0xyzzy", 13) == 0);
|
||||
g_string_insert(string1, 1, "QED");
|
||||
g_assert ( memcmp(string1->str, "fQEDiddle\0xyzzy", 16) == 0);
|
||||
g_string_free (string1, TRUE);
|
||||
g_string_free (string2, TRUE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user