chiark / gitweb /
gudev: Use strtoul to parse unsigned 64-bit integers
authorDavid Zeuthen <davidz@redhat.com>
Sat, 29 Oct 2011 16:16:43 +0000 (12:16 -0400)
committerKay Sievers <kay.sievers@vrfy.org>
Mon, 31 Oct 2011 12:47:22 +0000 (13:47 +0100)
Otherwise it will return 0x7fffffffffffffff instead of
0x8000000000000004 for e.g. this property

 ID_PART_ENTRY_FLAGS=0x8000000000000004

Signed-off-by: David Zeuthen <davidz@redhat.com>
extras/gudev/gudevdevice.c

index 6f30d12..e77b34b 100644 (file)
@@ -538,7 +538,7 @@ out:
  * @key: Name of property.
  *
  * Look up the value for @key on @device and convert it to an unsigned
- * 64-bit integer using strtoll().
+ * 64-bit integer using strtoul().
  *
  * Returns: The value  for @key or 0 if @key doesn't  exist or isn't a
  * #guint64.
@@ -558,7 +558,7 @@ g_udev_device_get_property_as_uint64 (GUdevDevice  *device,
   if (s == NULL)
     goto out;
 
-  result = strtoll (s, NULL, 0);
+  result = strtoul (s, NULL, 0);
 out:
   return result;
 }
@@ -756,7 +756,7 @@ out:
  * @name: Name of the sysfs attribute.
  *
  * Look up the sysfs attribute with @name on @device and convert it to an unsigned
- * 64-bit integer using strtoll().
+ * 64-bit integer using strtoul().
  *
  * Returns: The value of the sysfs attribute or 0 if there is no such
  * attribute.
@@ -776,7 +776,7 @@ g_udev_device_get_sysfs_attr_as_uint64 (GUdevDevice  *device,
   if (s == NULL)
     goto out;
 
-  result = strtoll (s, NULL, 0);
+  result = strtoul (s, NULL, 0);
 out:
   return result;
 }