File v4l-utils-32bitfix.patch of Package v4l-utils

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;
openSUSE Build Service is sponsored by