[vlc-commits] Add xstrdup()

Rémi Denis-Courmont git at videolan.org
Fri Oct 12 18:29:11 CEST 2012


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Fri Oct 12 19:11:48 2012 +0300| [d1e140e0a9a3b6bc7dc002d691b1dd0c4badd2ae] | committer: Rémi Denis-Courmont

Add xstrdup()

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d1e140e0a9a3b6bc7dc002d691b1dd0c4badd2ae
---

 include/vlc_common.h |    8 ++++++++
 src/config/core.c    |    6 ++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/include/vlc_common.h b/include/vlc_common.h
index db03b81..2e6914b 100644
--- a/include/vlc_common.h
+++ b/include/vlc_common.h
@@ -889,6 +889,14 @@ static inline void *xcalloc (size_t n, size_t size)
     return ptr;
 }
 
+static inline char *xstrdup (const char *str)
+{
+    char *ptr = strdup (str);
+    if (unlikely(ptr == NULL))
+        abort ();
+    return ptr;
+}
+
 /*****************************************************************************
  * libvlc features
  *****************************************************************************/
diff --git a/src/config/core.c b/src/config/core.c
index ff0636c..02fd0ce 100644
--- a/src/config/core.c
+++ b/src/config/core.c
@@ -414,12 +414,10 @@ ssize_t config_GetPszChoices (vlc_object_t *obj, const char *name,
 
     for (size_t i = 0; i < count; i++)
     {
-        vals[i] = strdup ((cfg->list.psz[i] != NULL) ? cfg->list.psz[i] : "");
+        vals[i] = xstrdup ((cfg->list.psz[i] != NULL) ? cfg->list.psz[i] : "");
         /* FIXME: use module_gettext() instead */
-        txts[i] = strdup ((cfg->list_text[i] != NULL)
+        txts[i] = xstrdup ((cfg->list_text[i] != NULL)
                                        ? vlc_gettext (cfg->list_text[i]) : "");
-        if (unlikely(vals[i] == NULL || txts[i] == NULL))
-            abort ();
     }
 
     *values = vals;



More information about the vlc-commits mailing list