v4l-utils/v4l-utils-32bitfix.patch

25 lines
1.0 KiB
Diff

Index: v4l-utils-1.22.1/lib/libdvbv5/dvb-file.c
===================================================================
--- v4l-utils-1.22.1.orig/lib/libdvbv5/dvb-file.c
+++ v4l-utils-1.22.1/lib/libdvbv5/dvb-file.c
@@ -594,7 +594,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]))
@@ -713,7 +714,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;