diff -up sane-backends-1.0.19/tools/sane-desc.c.policykit sane-backends-1.0.19/tools/sane-desc.c --- sane-backends-1.0.19/tools/sane-desc.c.policykit 2007-07-29 20:39:54.000000000 +0200 +++ sane-backends-1.0.19/tools/sane-desc.c 2008-03-26 16:57:49.000000000 +0100 @@ -3226,7 +3226,7 @@ print_udev (void) } } printf ("\n"); - printf ("SYSFS{idVendor}==\"%s\", SYSFS{idProduct}==\"%s\", MODE=\"0664\", GROUP=\"scanner\", ENV{libsane_matched}=\"yes\"\n", + printf ("SYSFS{idVendor}==\"%s\", SYSFS{idProduct}==\"%s\", MODE=\"0664\", ENV{libsane_matched}=\"yes\"\n", usbid->usb_vendor_id + 2, usbid->usb_product_id + 2); usbid = usbid->next; } @@ -3272,40 +3272,77 @@ print_plist (void) static void -print_hal (void) +print_hal_entries (usbid_type *usbid) { - int i; - usbid_type *usbid = create_usbids_table (); - printf ("\n"); - printf ("\n"); - printf (" \n"); - printf (" \n"); while (usbid) { manufacturer_model_type * name = usbid->name; + int i = 0; - i = 0; printf (" \n"); - printf (" \n", usbid->usb_vendor_id); - printf (" \n", usbid->usb_product_id); - printf (" scanner\n"); - printf (" proprietary\n"); + printf (" \n", usbid->usb_vendor_id); + printf (" \n", usbid->usb_product_id); + printf (" access_control\n"); + printf (" linux.device_file\n"); + printf (" scanner\n"); + printf (" hal-usb-scanner-add\n"); printf (" \n"); printf (" \n"); usbid = usbid->next; } +} +static void +print_hal (void) +{ + usbid_type *usbid_first = create_usbids_table (); + + printf ("\n"); + printf ("\n"); + printf (" \n\n"); + printf (" \n"); + printf (" \n"); + printf (" \n"); + printf (" \n"); + printf (" \n"); + printf (" access_control\n"); + printf (" linux.device_file\n"); + printf (" scanner\n"); + printf (" \n"); + printf (" \n"); + printf (" \n\n"); + + printf (" \n"); + printf (" \n"); + print_hal_entries (usbid_first); + printf (" \n\n"); + + printf (" \n"); + printf (" \n"); + printf (" \n"); + printf (" \n"); + printf (" \n"); + printf (" access_control\n"); + printf (" linux.device_file\n"); + printf (" scanner\n"); + printf (" \n"); + printf (" \n"); + printf (" \n\n"); + + printf (" \n"); + printf (" \n"); + print_hal_entries (usbid_first); + printf (" \n\n"); - printf (" \n"); printf (" \n"); printf ("\n"); }