25 lines
993 B
Diff
25 lines
993 B
Diff
|
Index: b/lib/libdvbv5/dvb-file.c
|
||
|
===================================================================
|
||
|
--- a/lib/libdvbv5/dvb-file.c
|
||
|
+++ b/lib/libdvbv5/dvb-file.c
|
||
|
@@ -589,7 +589,8 @@ static int fill_entry(struct dvb_entry *
|
||
|
n_prop = entry->n_props;
|
||
|
entry->props[n_prop].cmd = i;
|
||
|
if (!attr_name || !*attr_name)
|
||
|
- entry->props[n_prop].u.data = atol(value);
|
||
|
+ /* some put stream_id=4294967295 (-1) which is more than LONG_MAX on 32bit... */
|
||
|
+ entry->props[n_prop].u.data = (uint32_t)atoll(value);
|
||
|
else {
|
||
|
for (j = 0; attr_name[j]; j++)
|
||
|
if (!strcasecmp(value, attr_name[j]))
|
||
|
@@ -708,7 +709,8 @@ static int fill_entry(struct dvb_entry *
|
||
|
/* FIXME: this works only for integer values */
|
||
|
n_prop = entry->n_props;
|
||
|
entry->props[n_prop].cmd = cmd;
|
||
|
- entry->props[n_prop].u.data = atol(value);
|
||
|
+ /* some put stream_id=4294967295 (-1) which is more than LONG_MAX on 32bit... */
|
||
|
+ entry->props[n_prop].u.data = (uint32_t)atoll(value);
|
||
|
entry->n_props++;
|
||
|
|
||
|
return 0;
|