Re: In regard of commit "gudev: Use strtoul to parse unsigned 64-bit integers"
|[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]|
Hi, I looked more into this and we should probably just use g_ascii_strtoull() since that function always returns a guint64 no matter whether you are on 32- or 64-bit. The attached patch does this. Kay: please apply. Thanks, David On Mon, Oct 31, 2011 at 4:32 PM, David Zeuthen <zeuthen@xxxxxxxxx> wrote: > On Mon, Oct 31, 2011 at 4:13 PM, Rafał Mużyło <galtgendo@xxxxxxxxx> wrote: >> Perhaps I'm simply misreading something, but won't going from strtoll to >> strtoul break things for 32bit case ? > > What do you think it would break? Or are you perhaps suggesting we > should be using strtoull() instead? Please be specific. > > > David >
From 2a64773ac80432ca70aa747b55cfaadf3f8c55cb Mon Sep 17 00:00:00 2001 From: David Zeuthen <davidz@xxxxxxxxxx> Date: Mon, 31 Oct 2011 16:38:14 -0400 Subject: [PATCH] gudev: Use g_ascii_strtoull() instead of strtoul() This ensures that we get the same behavior on both 32- and 64-bit. Pointed out on the mailing list: http://permalink.gmane.org/gmane.linux.hotplug.devel/17145 Signed-off-by: David Zeuthen <davidz@xxxxxxxxxx> --- extras/gudev/gudevdevice.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/extras/gudev/gudevdevice.c b/extras/gudev/gudevdevice.c index e77b34b..38d602c 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 strtoul(). + * 64-bit integer using g_ascii_strtoull(). * * 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 = strtoul (s, NULL, 0); + result = g_ascii_strtoull (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 strtoul(). + * 64-bit integer using g_ascii_strtoull(). * * 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 = strtoul (s, NULL, 0); + result = g_ascii_strtoull (s, NULL, 0); out: return result; } -- 188.8.131.52