diff options
Diffstat (limited to 'backend/microtek.c')
| -rw-r--r-- | backend/microtek.c | 36 | 
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;  }  | 
