diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2016-11-07 19:36:26 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2016-11-07 19:41:05 +0100 |
commit | 820ab01ddfdf3ddee150f9e84fbee71bae884dea (patch) | |
tree | e35a2e51dbd31bdad5d018130c35342b11f84207 /src/kerneldevice/mm-kernel-device.c | |
parent | 4f748144b05375db436364e13186936eae6bcfd2 (diff) |
kernel-device: ID_USB_INTERFACE_NUM should be read as an hex string
The original g_udev_device_get_property_as_int() uses strtol() without
an explicit base (i.e. 0) so that the base is autodetected from the
string whenever possible (e.g. if prefixes with '0x' it is treated as a
hexadecimal string).
But, for ID_USB_INTERFACE_NUM, we explicitly require reading the number
as an hex string, even if we don't have any '0x' prefix.
Reported-by: Matthew Stanger <stangerm2@gmail.com>
Diffstat (limited to 'src/kerneldevice/mm-kernel-device.c')
-rw-r--r-- | src/kerneldevice/mm-kernel-device.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/kerneldevice/mm-kernel-device.c b/src/kerneldevice/mm-kernel-device.c index ee25fe9a..4de4e744 100644 --- a/src/kerneldevice/mm-kernel-device.c +++ b/src/kerneldevice/mm-kernel-device.c @@ -166,6 +166,17 @@ mm_kernel_device_get_property_as_int (MMKernelDevice *self, -1); } +guint +mm_kernel_device_get_property_as_int_hex (MMKernelDevice *self, + const gchar *property) +{ + g_return_val_if_fail (MM_IS_KERNEL_DEVICE (self), 0); + + return (MM_KERNEL_DEVICE_GET_CLASS (self)->get_property_as_int_hex ? + MM_KERNEL_DEVICE_GET_CLASS (self)->get_property_as_int_hex (self, property) : + 0); +} + /*****************************************************************************/ static void |