Expose andoma strndup to rest of code and make use of it in xmltv code.
This commit is contained in:
parent
78cfe1b3ed
commit
9cf3b81fb9
3 changed files with 8 additions and 5 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue