From: David Zeuthen Date: Sat, 29 Oct 2011 16:16:43 +0000 (-0400) Subject: gudev: Use strtoul to parse unsigned 64-bit integers X-Git-Tag: 175~8 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=39649a8b3a1e7121a622dd3d01c0beb6b3da9b0b 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 --- diff --git a/extras/gudev/gudevdevice.c b/extras/gudev/gudevdevice.c index 6f30d12d0..e77b34bd5 100644 --- a/extras/gudev/gudevdevice.c +++ b/extras/gudev/gudevdevice.c @@ -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; }