gudev: Use strtoul to parse unsigned 64-bit integers

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>
This commit is contained in:
David Zeuthen 2011-10-29 12:16:43 -04:00 committed by Kay Sievers
parent 092a53bb92
commit 39649a8b3a
1 changed files with 4 additions and 4 deletions

View 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;
}