summaryrefslogtreecommitdiff
path: root/tools/sane-find-scanner.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/sane-find-scanner.c')
-rw-r--r--tools/sane-find-scanner.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/tools/sane-find-scanner.c b/tools/sane-find-scanner.c
index 25e5954..a949695 100644
--- a/tools/sane-find-scanner.c
+++ b/tools/sane-find-scanner.c
@@ -89,9 +89,12 @@ scsiblk;
#define set_inquiry_return_size(icb,val) icb[0x04]=val
#define IN_periph_devtype_cpu 0x03
#define IN_periph_devtype_scanner 0x06
-#define get_scsi_inquiry_vendor(in, buf) strncpy(buf, in + 0x08, 0x08)
-#define get_scsi_inquiry_product(in, buf) strncpy(buf, in + 0x10, 0x010)
-#define get_scsi_inquiry_version(in, buf) strncpy(buf, in + 0x20, 0x04)
+#define get_scsi_inquiry_vendor(in, buf) snprintf(buf, 0x08 + 1, "%.*s", \
+ 0x08, in + 0x08)
+#define get_scsi_inquiry_product(in, buf) snprintf(buf, 0x10 + 1, "%.*s", \
+ 0x10, in + 0x10)
+#define get_scsi_inquiry_version(in, buf) snprintf(buf, 0x04 + 1, "%.*s", \
+ 0x04, in + 0x20)
#define get_scsi_inquiry_periph_devtype(in) (in[0] & 0x1f)
#define get_scsi_inquiry_additional_length(in) in[0x04]
#define set_scsi_inquiry_length(out,n) out[0x04]=n-5
@@ -384,7 +387,7 @@ check_usb_file (char *file_name)
{
if (verbose > 1)
printf (" open ok, vendor and product ids were identified\n");
- printf ("found USB scanner (vendor=0x%04x, "
+ printf ("found possible USB scanner (vendor=0x%04x, "
"product=0x%04x) at %s\n", vendor, product, file_name);
}
else
@@ -392,8 +395,8 @@ check_usb_file (char *file_name)
if (verbose > 1)
printf (" open ok, but vendor and product could NOT be "
"identified\n");
- printf ("found USB scanner (UNKNOWN vendor and product) "
- "at device %s\n", file_name);
+ printf ("found possible USB scanner (UNKNOWN vendor and "
+ "product) at %s\n", file_name);
unknown_found = SANE_TRUE;
}
device_found = SANE_TRUE;
@@ -676,7 +679,8 @@ check_libusb_device (struct usb_device *dev, SANE_Bool from_file)
{
char * chipset = check_usb_chip (dev, verbose, from_file);
- printf ("found USB scanner (vendor=0x%04x", dev->descriptor.idVendor);
+ printf ("found possible USB scanner (vendor=0x%04x",
+ dev->descriptor.idVendor);
if (vendor)
printf (" [%s]", vendor);
printf (", product=0x%04x", dev->descriptor.idProduct);
@@ -1066,7 +1070,7 @@ check_libusb_device (libusb_device *dev, SANE_Bool from_file)
if(!from_file)
chipset = check_usb_chip (verbose, desc, hdl, config0);
- printf ("found USB scanner (vendor=0x%04x", vid);
+ printf ("found possible USB scanner (vendor=0x%04x", vid);
if (vendor)
printf (" [%s]", vendor);
printf (", product=0x%04x", pid);