From 9cf3b81fb988d2aa0b39a3c236dcc8b68a2a2f27 Mon Sep 17 00:00:00 2001 From: Adam Sutton Date: Sun, 5 Aug 2012 22:06:54 +0100 Subject: [PATCH] Expose andoma strndup to rest of code and make use of it in xmltv code. --- src/epggrab/module/xmltv.c | 3 ++- src/htsstr.c | 8 ++++---- src/htsstr.h | 2 ++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/epggrab/module/xmltv.c b/src/epggrab/module/xmltv.c index d6c955e2..5d0e1f4d 100644 --- a/src/epggrab/module/xmltv.c +++ b/src/epggrab/module/xmltv.c @@ -32,6 +32,7 @@ #include "tvheadend.h" #include "channels.h" #include "spawn.h" +#include "htsstr.h" #include "epg.h" #include "epggrab.h" @@ -188,7 +189,7 @@ static void parse_xmltv_dd_progid if (!strncmp("EP", s, 2) || !strncmp("SH", s, 2)) { int e = 0; while (s[e] && s[e] != '.') e++; - *suri = strndup(s, e); + *suri = hts_strndup(s, e); if (s[e] && s[e+1]) sscanf(s+e+1, "%d", en); } } diff --git a/src/htsstr.c b/src/htsstr.c index dbcf9923..f745e4ce 100644 --- a/src/htsstr.c +++ b/src/htsstr.c @@ -26,8 +26,8 @@ static void htsstr_argsplit_add(char ***argv, int *argc, char *s); static int htsstr_format0(const char *str, char *out, char **map); -static char * -mystrndup(const char *src, size_t len) +char * +hts_strndup(const char *src, size_t len) { char *r = malloc(len + 1); r[len] = 0; @@ -85,7 +85,7 @@ htsstr_argsplit(const char *str) { for(s = str; *s; s++) { if(start && stop) { htsstr_argsplit_add(&argv, &argc, - htsstr_unescape(mystrndup(start, stop - start))); + htsstr_unescape(hts_strndup(start, stop - start))); start = stop = NULL; } @@ -131,7 +131,7 @@ htsstr_argsplit(const char *str) { if(!stop) stop = str + strlen(str); htsstr_argsplit_add(&argv, &argc, - htsstr_unescape(mystrndup(start, stop - start))); + htsstr_unescape(hts_strndup(start, stop - start))); } htsstr_argsplit_add(&argv, &argc, NULL); diff --git a/src/htsstr.h b/src/htsstr.h index c6d4c7c3..f079c7ec 100644 --- a/src/htsstr.h +++ b/src/htsstr.h @@ -21,6 +21,8 @@ #ifndef HTSSTR_H__ #define HTSSTR_H__ +char *hts_strndup(const char *str, size_t len); + char *htsstr_unescape(char *str); char **htsstr_argsplit(const char *str);