diff options
author | Matthias Clasen <mclasen@redhat.com> | 2015-09-12 12:05:31 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2015-09-12 12:05:31 -0400 |
commit | b9a27679ec1555262c0c721ec1793d7acd7766d9 (patch) | |
tree | 50449b1cf6bb2b5d5e1929f04182378884b18f68 | |
parent | 9acd0ddbf3c0f14e6ae7cb3f7faf4c24767f13b8 (diff) | |
download | glib-b9a27679ec1555262c0c721ec1793d7acd7766d9.tar.gz |
Revert "Cleanups after we dropped mem vtables"
This reverts commit 627854fee1fde93e01f27655b00a9082348ee15f.
It has been argued that not aborting on malloc() failure is
an incompatible change.
-rw-r--r-- | glib/gstrfuncs.c | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/glib/gstrfuncs.c b/glib/gstrfuncs.c index a251631f3..dde612668 100644 --- a/glib/gstrfuncs.c +++ b/glib/gstrfuncs.c @@ -354,10 +354,19 @@ get_C_locale (void) gchar* g_strdup (const gchar *str) { + gchar *new_str; + gsize length; + if (str) - return strdup (str); + { + length = strlen (str) + 1; + new_str = g_new (char, length); + memcpy (new_str, str, length); + } else - return NULL; + new_str = NULL; + + return new_str; } /** @@ -409,10 +418,18 @@ gchar* g_strndup (const gchar *str, gsize n) { + gchar *new_str; + if (str) - return strndup (str, n); + { + new_str = g_new (gchar, n + 1); + strncpy (new_str, str, n); + new_str[n] = '\0'; + } else - return NULL; + new_str = NULL; + + return new_str; } /** |