summaryrefslogtreecommitdiff
path: root/backend/microtek.c
diff options
context:
space:
mode:
Diffstat (limited to 'backend/microtek.c')
-rw-r--r--backend/microtek.c36
1 files changed, 15 insertions, 21 deletions
diff --git a/backend/microtek.c b/backend/microtek.c
index 17f3151..d9b0a6b 100644
--- a/backend/microtek.c
+++ b/backend/microtek.c
@@ -1502,14 +1502,10 @@ parse_inquiry(Microtek_Info *mi, unsigned char *result)
};
#endif
DBG(15, "parse_inquiry...\n");
- strncpy(mi->vendor_id, (char *)&result[8], 8);
- strncpy(mi->model_name, (char *)&result[16], 16);
- strncpy(mi->revision_num, (char *)&result[32], 4);
- strncpy(mi->vendor_string, (char *)&result[36], 20);
- mi->vendor_id[8] = 0;
- mi->model_name[16] = 0;
- mi->revision_num[4] = 0;
- mi->vendor_string[20] = 0;
+ snprintf(mi->vendor_id, 8 + 1, "%.*s", 8, (char *)&result[8]);
+ snprintf(mi->model_name, 16 + 1, "%.*s", 16, (char *)&result[16]);
+ snprintf(mi->revision_num, 4 + 1, "%.*s", 4, (char *)&result[32]);
+ snprintf(mi->vendor_string, 20 + 1, "%.*s", 20, (char *)&result[36]);
mi->device_type = (SANE_Byte)(result[0] & 0x1f);
mi->SCSI_firmware_ver_major = (SANE_Byte)((result[1] & 0xf0) >> 4);
@@ -1925,7 +1921,7 @@ static SANE_Status
dump_suspect_inquiry(unsigned char *result)
{
int i;
- char vendor_id[64], model_name[64], revision_num[16];
+ char vendor_id[9], model_name[17], revision_num[5];
SANE_Byte device_type, model_code;
SANE_Byte SCSI_firmware_ver_major, SCSI_firmware_ver_minor;
SANE_Byte scanner_firmware_ver_major, scanner_firmware_ver_minor;
@@ -1947,12 +1943,9 @@ dump_suspect_inquiry(unsigned char *result)
}
fprintf(stderr, "\n\n");
#endif
- strncpy(vendor_id, (char *)&result[8], 8);
- strncpy(model_name, (char *)&result[16], 16);
- strncpy(revision_num, (char *)&result[32], 4);
- vendor_id[8] = 0;
- model_name[16] = 0;
- revision_num[5] = 0;
+ snprintf(vendor_id, 8 + 1, "%.*s", 8, (char *)&result[8]);
+ snprintf(model_name, 16 + 1, "%.*s", 16, (char *)&result[16]);
+ snprintf(revision_num, 4 + 1, "%.*s", 4, (char *)&result[32]);
device_type = (SANE_Byte)(result[0] & 0x1f);
SCSI_firmware_ver_major = (SANE_Byte)((result[1] & 0xf0) >> 4);
SCSI_firmware_ver_minor = (SANE_Byte)(result[1] & 0x0f);
@@ -2356,7 +2349,8 @@ static SANE_Status do_real_calibrate(Microtek_Scanner *s)
input = calloc(STRIPS * 3 * linewidth, sizeof(input[0]));
combuff = calloc(linewidth + 6, sizeof(combuff[0]));
if ((input == NULL) || (combuff == NULL)) {
- DBG(23, "do_real_cal: bad calloc %p %p\n", input, combuff);
+ DBG(23, "do_real_cal: bad calloc %p %p\n",
+ (void *) input, (void *) combuff);
free(input);
free(combuff);
return SANE_STATUS_NO_MEM;
@@ -2370,7 +2364,7 @@ static SANE_Status do_real_calibrate(Microtek_Scanner *s)
ntoget = (nleft > nmax) ? nmax : nleft;
buffsize = ntoget * 3 * linewidth;
DBG(23, "...nleft %d toget %d size %lu spot %d input+spot %p\n",
- nleft, ntoget, (u_long) buffsize, spot, input+spot);
+ nleft, ntoget, (u_long) buffsize, spot, (void *) (input+spot));
if ((statusA = read_scan_data(s, ntoget, input+spot, &buffsize))
!= SANE_STATUS_GOOD) {
DBG(23, "...read scan failed\n");
@@ -3060,7 +3054,7 @@ sane_init(SANE_Int *version_code, SANE_Auth_Callback authorize)
size_t len;
FILE *fp;
- authorize = authorize;
+ (void) authorize;
DBG_INIT();
DBG(1, "sane_init: MICROTEK says hello! (v%d.%d.%d)\n",
MICROTEK_MAJOR, MICROTEK_MINOR, MICROTEK_PATCH);
@@ -3111,7 +3105,7 @@ sane_get_devices(const SANE_Device ***device_list,
Microtek_Device *dev;
int i;
- local_only = local_only;
+ (void) local_only;
DBG(10, "sane_get_devices\n");
/* we keep an internal copy */
if (devlist)
@@ -4166,7 +4160,7 @@ SANE_Status
sane_set_io_mode (SANE_Handle handle, SANE_Bool non_blocking)
{
DBG(10, "sane_set_io_mode...\n");
- handle = handle;
+ (void) handle;
if (non_blocking)
return SANE_STATUS_UNSUPPORTED;
else
@@ -4182,6 +4176,6 @@ SANE_Status
sane_get_select_fd (SANE_Handle handle, SANE_Int * fd)
{
DBG(10, "sane_get_select_fd...\n");
- handle = handle, fd = fd;
+ (void) handle, (void) fd;
return SANE_STATUS_UNSUPPORTED;
}