From 6a34a8fecf8a7a6c174309ed3318ccf7a0dcfef7 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Thu, 9 Nov 2006 12:50:13 +0000 Subject: fixed the interface class matcher to actually work. git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@9390 67ed7778-7388-44ab-90cf-0a291f65f57c --- packaging/generic/print-camera-list.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'packaging') diff --git a/packaging/generic/print-camera-list.c b/packaging/generic/print-camera-list.c index 64b5537de..8d6c4f87e 100644 --- a/packaging/generic/print-camera-list.c +++ b/packaging/generic/print-camera-list.c @@ -351,13 +351,10 @@ udev_camera_func (const func_params_t *params, } if (flags & GP_USB_HOTPLUG_MATCH_INT_CLASS) { - printf("SYSFS{bInterfaceClass}==\"%02x\", ", class); - if (flags & GP_USB_HOTPLUG_MATCH_INT_SUBCLASS) { - printf("SYSFS{bInterfaceSubClass}==\"%02x\", ", subclass); - } - if (flags & GP_USB_HOTPLUG_MATCH_INT_PROTOCOL) { - printf("SYSFS{bInterfaceProtocol}==\"%02x\", ", proto); - } + if ((flags & (GP_USB_HOTPLUG_MATCH_INT_CLASS|GP_USB_HOTPLUG_MATCH_INT_SUBCLASS|GP_USB_HOTPLUG_MATCH_INT_PROTOCOL)) == (GP_USB_HOTPLUG_MATCH_INT_CLASS|GP_USB_HOTPLUG_MATCH_INT_SUBCLASS|GP_USB_HOTPLUG_MATCH_INT_PROTOCOL)) + printf("ENV{INTERFACE}==\"%d/%d/%d\", ", class, subclass, proto); + else + fprintf(stderr,"unhandled interface match flags %x\n", flags); } else { printf ("SYSFS{idVendor}==\"%04x\", SYSFS{idProduct}==\"%04x\", ", a->usb_vendor, a->usb_product); @@ -461,11 +458,10 @@ udev_098_camera_func (const func_params_t *params, printf ("# %s\n", a->model); if (flags & GP_USB_HOTPLUG_MATCH_INT_CLASS) { - printf("ATTRS{bInterfaceClass}==\"%02x\", ", class); - if (flags & GP_USB_HOTPLUG_MATCH_INT_SUBCLASS) - printf("ATTRS{bInterfaceSubClass}==\"%02x\", ", subclass); - if (flags & GP_USB_HOTPLUG_MATCH_INT_PROTOCOL) - printf("ATTRS{bInterfaceProtocol}==\"%02x\", ", proto); + if ((flags & (GP_USB_HOTPLUG_MATCH_INT_CLASS|GP_USB_HOTPLUG_MATCH_INT_SUBCLASS|GP_USB_HOTPLUG_MATCH_INT_PROTOCOL)) == (GP_USB_HOTPLUG_MATCH_INT_CLASS|GP_USB_HOTPLUG_MATCH_INT_SUBCLASS|GP_USB_HOTPLUG_MATCH_INT_PROTOCOL)) + printf("ENV{INTERFACE}==\"%d/%d/%d\", ", class, subclass, proto); + else + fprintf(stderr,"unhandled interface match flags %x\n", flags); } else { printf ("ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", ", a->usb_vendor, a->usb_product); -- cgit v1.2.1