Merge branch 'clang-warnings' into 'master'

Fix Clang warnings

See merge request sane-project/backends!727
merge-requests/729/head
Ralph Little 2022-05-01 21:56:52 +00:00
commit a45e79bce6
3 zmienionych plików z 55 dodań i 96 usunięć

Wyświetl plik

@ -82,7 +82,6 @@ fedora-35-clang:
CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL" CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL"
MAKE_FLAGS: "CFLAGS=-Werror CXXFLAGS=-Werror" MAKE_FLAGS: "CFLAGS=-Werror CXXFLAGS=-Werror"
<<: *compile_definition <<: *compile_definition
allow_failure: true
alpine-3.15-musl: alpine-3.15-musl:
image: $REGISTRY_HUB:alpine-3.15-musl image: $REGISTRY_HUB:alpine-3.15-musl

Wyświetl plik

@ -198,15 +198,6 @@ static const SANE_Byte scsi_inquiry[] = {
static const SANE_Byte scsi_test_unit_ready[] = { static const SANE_Byte scsi_test_unit_ready[] = {
MUSTEK_SCSI_TEST_UNIT_READY, 0x00, 0x00, 0x00, 0x00, 0x00 MUSTEK_SCSI_TEST_UNIT_READY, 0x00, 0x00, 0x00, 0x00, 0x00
}; };
/* Remove #ifdef and this comment when this SCSI command is used for
something. Keeping this definition around so we don't loose info
about the protocol.
*/
#ifdef ENABLE_MUSTEK_SCSI_AREA_AND_WINDOWS
static const SANE_Byte scsi_area_and_windows[] = {
MUSTEK_SCSI_AREA_AND_WINDOWS, 0x00, 0x00, 0x00, 0x09, 0x00
};
#endif
static const SANE_Byte scsi_request_sense[] = { static const SANE_Byte scsi_request_sense[] = {
MUSTEK_SCSI_REQUEST_SENSE, 0x00, 0x00, 0x00, 0x04, 0x00 MUSTEK_SCSI_REQUEST_SENSE, 0x00, 0x00, 0x00, 0x04, 0x00
}; };
@ -219,28 +210,16 @@ static const SANE_Byte scsi_ccd_distance[] = {
static const SANE_Byte scsi_get_image_status[] = { static const SANE_Byte scsi_get_image_status[] = {
MUSTEK_SCSI_GET_IMAGE_STATUS, 0x00, 0x00, 0x00, 0x06, 0x00 MUSTEK_SCSI_GET_IMAGE_STATUS, 0x00, 0x00, 0x00, 0x06, 0x00
}; };
static const SANE_Byte scsi_set_window[] = {
MUSTEK_SCSI_SET_WINDOW, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00
};
static const SANE_Byte scsi_get_window[] = { static const SANE_Byte scsi_get_window[] = {
MUSTEK_SCSI_GET_WINDOW, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00 MUSTEK_SCSI_GET_WINDOW, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00
}; };
static const SANE_Byte scsi_read_data[] = {
MUSTEK_SCSI_READ_DATA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* Sizes for fixed-length, non-vendor-specific CDB formats (others are 0) */
}; #define CDB_SIZE(opcode) ((opcode) < 0x20 ? 6 : \
static const SANE_Byte scsi_send_data[] = { (opcode) < 0x60 ? 10 : \
MUSTEK_SCSI_SEND_DATA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 (opcode) < 0x80 ? 0 : \
}; (opcode) < 0xa0 ? 16 : \
/* Remove #ifdef and this comment when this SCSI command is used for (opcode) < 0xc0 ? 12 : 0)
something. Keeping this definition around so we don't loose info
about the protocol.
*/
#ifdef ENABLE_MUSTEK_SCSI_LOOKUP_TABLE
static const SANE_Byte scsi_lookup_table[] = {
MUSTEK_SCSI_LOOKUP_TABLE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00
};
#endif
/* prototypes */ /* prototypes */
static SANE_Status area_and_windows (Mustek_Scanner * s); static SANE_Status area_and_windows (Mustek_Scanner * s);
@ -1994,7 +1973,7 @@ set_window_se (Mustek_Scanner * s, SANE_Int lamp)
/* setup SCSI command (except length): */ /* setup SCSI command (except length): */
memset (cmd, 0, sizeof (cmd)); memset (cmd, 0, sizeof (cmd));
cmd[0] = MUSTEK_SCSI_SET_WINDOW; cmd[0] = MUSTEK_SCSI_SET_WINDOW;
cp = cmd + sizeof (scsi_set_window); /* skip command block */ cp = cmd + CDB_SIZE (MUSTEK_SCSI_SET_WINDOW); /* skip command block */
if (s->mode & MUSTEK_MODE_COLOR) if (s->mode & MUSTEK_MODE_COLOR)
{ {
@ -2093,7 +2072,7 @@ set_window_se (Mustek_Scanner * s, SANE_Int lamp)
*cp++ = 0; *cp++ = 0;
cp += 5; /* skip reserved bytes */ cp += 5; /* skip reserved bytes */
cmd[8] = cp - cmd - sizeof (scsi_set_window); cmd[8] = cp - cmd - CDB_SIZE (MUSTEK_SCSI_SET_WINDOW);
return dev_cmd (s, cmd, (cp - cmd), 0, 0); return dev_cmd (s, cmd, (cp - cmd), 0, 0);
} }
@ -2111,7 +2090,7 @@ set_window_pro (Mustek_Scanner * s)
else else
cmd[8] = 0x0a; cmd[8] = 0x0a;
cp = cmd + sizeof (scsi_set_window); /* skip command block */ cp = cmd + CDB_SIZE (MUSTEK_SCSI_SET_WINDOW); /* skip command block */
*cp++ = 0; /* what's this? */ *cp++ = 0; /* what's this? */
pixels_per_mm = SANE_UNFIX (s->hw->dpi_range.max) / MM_PER_INCH; pixels_per_mm = SANE_UNFIX (s->hw->dpi_range.max) / MM_PER_INCH;
@ -2174,7 +2153,7 @@ get_calibration_lines_pro (Mustek_Scanner * s)
for (line = 0; line < s->hw->cal.lines; line++) for (line = 0; line < s->hw->cal.lines; line++)
{ {
status = dev_cmd (s, cmd, sizeof (scsi_read_data), status = dev_cmd (s, cmd, CDB_SIZE (MUSTEK_SCSI_READ_DATA),
s->hw->cal.buffer + line * len, &len); s->hw->cal.buffer + line * len, &len);
if ((status != SANE_STATUS_GOOD) if ((status != SANE_STATUS_GOOD)
@ -2199,17 +2178,17 @@ send_calibration_lines_pro (Mustek_Scanner * s)
DBG (5, "send_calibration_lines_pro\n"); DBG (5, "send_calibration_lines_pro\n");
buf_size = s->hw->cal.bytes / 2; buf_size = s->hw->cal.bytes / 2;
cmd1 = (SANE_Byte *) malloc (buf_size + sizeof (scsi_send_data)); cmd1 = (SANE_Byte *) malloc (buf_size + CDB_SIZE (MUSTEK_SCSI_SEND_DATA));
cmd2 = (SANE_Byte *) malloc (buf_size + sizeof (scsi_send_data)); cmd2 = (SANE_Byte *) malloc (buf_size + CDB_SIZE (MUSTEK_SCSI_SEND_DATA));
if (!cmd1 || !cmd2) if (!cmd1 || !cmd2)
{ {
DBG (1, "send_calibration_lines_pro: failed to malloc %ld bytes for " DBG (1, "send_calibration_lines_pro: failed to malloc %zu bytes for "
"sending lines\n", "sending lines\n",
(long int) (buf_size + sizeof (scsi_send_data))); buf_size + CDB_SIZE (MUSTEK_SCSI_SEND_DATA));
return SANE_STATUS_NO_MEM; return SANE_STATUS_NO_MEM;
} }
memset (cmd1, 0, sizeof (scsi_send_data)); memset (cmd1, 0, CDB_SIZE (MUSTEK_SCSI_SEND_DATA));
memset (cmd2, 0, sizeof (scsi_send_data)); memset (cmd2, 0, CDB_SIZE (MUSTEK_SCSI_SEND_DATA));
cmd1[0] = cmd2[0] = MUSTEK_SCSI_SEND_DATA; cmd1[0] = cmd2[0] = MUSTEK_SCSI_SEND_DATA;
cmd1[6] = cmd2[6] = (buf_size >> 16) & 0xff; cmd1[6] = cmd2[6] = (buf_size >> 16) & 0xff;
@ -2236,21 +2215,21 @@ send_calibration_lines_pro (Mustek_Scanner * s)
calibration_word = (1024 * 65536 / calibration_word) - 1024; calibration_word = (1024 * 65536 / calibration_word) - 1024;
if (calibration_word > 1023) if (calibration_word > 1023)
calibration_word = 1023; calibration_word = 1023;
*(cmd1 + sizeof (scsi_send_data) + (buf_size / 3) * color + column) *(cmd1 + CDB_SIZE (MUSTEK_SCSI_SEND_DATA) + (buf_size / 3) * color
= calibration_word & 0xff; + column) = calibration_word & 0xff;
*(cmd2 + sizeof (scsi_send_data) + (buf_size / 3) * color + column) *(cmd2 + CDB_SIZE (MUSTEK_SCSI_SEND_DATA) + (buf_size / 3) * color
= (calibration_word >> 8) & 0xff; + column) = (calibration_word >> 8) & 0xff;
} }
} }
status = dev_cmd (s, cmd1, buf_size + sizeof (scsi_send_data), 0, 0); status = dev_cmd (s, cmd1, buf_size + CDB_SIZE (MUSTEK_SCSI_SEND_DATA), 0, 0);
if (status != SANE_STATUS_GOOD) if (status != SANE_STATUS_GOOD)
{ {
DBG (1, "send_calibration_lines_pro: send failed\n"); DBG (1, "send_calibration_lines_pro: send failed\n");
return status; return status;
} }
status = dev_cmd (s, cmd2, buf_size + sizeof (scsi_send_data), 0, 0); status = dev_cmd (s, cmd2, buf_size + CDB_SIZE (MUSTEK_SCSI_SEND_DATA), 0, 0);
if (status != SANE_STATUS_GOOD) if (status != SANE_STATUS_GOOD)
{ {
DBG (1, "send_calibration_lines_pro: send failed\n"); DBG (1, "send_calibration_lines_pro: send failed\n");
@ -2328,7 +2307,8 @@ get_calibration_lines_se (Mustek_Scanner * s)
cmd[7] = (lines >> 8) & 0xff; cmd[7] = (lines >> 8) & 0xff;
cmd[8] = (lines >> 0) & 0xff; cmd[8] = (lines >> 0) & 0xff;
len = lines * bytes_per_color; len = lines * bytes_per_color;
status = dev_cmd (s, cmd, sizeof (scsi_read_data), s->hw->cal.buffer, &len); status = dev_cmd (s, cmd, CDB_SIZE (MUSTEK_SCSI_READ_DATA),
s->hw->cal.buffer, &len);
if ((status != SANE_STATUS_GOOD) if ((status != SANE_STATUS_GOOD)
|| (len != (unsigned int) (lines * bytes_per_color))) || (len != (unsigned int) (lines * bytes_per_color)))
{ {
@ -2361,15 +2341,15 @@ send_calibration_lines_se (Mustek_Scanner * s, SANE_Word color)
DBG (5, "send_calibration_lines_se: %d bytes, color: %d\n", DBG (5, "send_calibration_lines_se: %d bytes, color: %d\n",
bytes_per_color, color + 1); bytes_per_color, color + 1);
cmd = (SANE_Byte *) malloc (buf_size + sizeof (scsi_send_data)); cmd = (SANE_Byte *) malloc (buf_size + CDB_SIZE (MUSTEK_SCSI_SEND_DATA));
if (!cmd) if (!cmd)
{ {
DBG (1, "send_calibration_lines_se: failed to malloc %ld bytes for " DBG (1, "send_calibration_lines_se: failed to malloc %zu bytes for "
"sending lines\n", "sending lines\n",
(long int) (buf_size + sizeof (scsi_send_data))); buf_size + CDB_SIZE (MUSTEK_SCSI_SEND_DATA));
return SANE_STATUS_NO_MEM; return SANE_STATUS_NO_MEM;
} }
memset (cmd, 0, sizeof (scsi_send_data)); memset (cmd, 0, CDB_SIZE (MUSTEK_SCSI_SEND_DATA));
for (column = 0; column < bytes_per_color; column++) for (column = 0; column < bytes_per_color; column++)
{ {
@ -2386,7 +2366,7 @@ send_calibration_lines_se (Mustek_Scanner * s, SANE_Word color)
cali_word = 256 * s->hw->cal.lines * 255 / cali_word - 256; cali_word = 256 * s->hw->cal.lines * 255 / cali_word - 256;
if (cali_word > 255) if (cali_word > 255)
cali_word = 255; cali_word = 255;
*(cmd + sizeof (scsi_send_data) + column) = cali_word; *(cmd + CDB_SIZE (MUSTEK_SCSI_SEND_DATA) + column) = cali_word;
} }
cmd[0] = MUSTEK_SCSI_SEND_DATA; cmd[0] = MUSTEK_SCSI_SEND_DATA;
@ -2395,7 +2375,7 @@ send_calibration_lines_se (Mustek_Scanner * s, SANE_Word color)
cmd[7] = (buf_size >> 8) & 0xff; cmd[7] = (buf_size >> 8) & 0xff;
cmd[8] = (buf_size >> 0) & 0xff; cmd[8] = (buf_size >> 0) & 0xff;
status = dev_cmd (s, cmd, buf_size + sizeof (scsi_send_data), 0, 0); status = dev_cmd (s, cmd, buf_size + CDB_SIZE (MUSTEK_SCSI_SEND_DATA), 0, 0);
if (status != SANE_STATUS_GOOD) if (status != SANE_STATUS_GOOD)
{ {
DBG (1, "send_calibration_lines_se: send failed\n"); DBG (1, "send_calibration_lines_se: send failed\n");
@ -2457,14 +2437,15 @@ send_gamma_table_se (Mustek_Scanner * s)
SANE_Int i, j; SANE_Int i, j;
# define CLIP(x) ((x) < 0 ? 0 : ((x) > 255 ? 255 : (x))) # define CLIP(x) ((x) < 0 ? 0 : ((x) > 255 ? 255 : (x)))
memset (gamma, 0, sizeof (scsi_send_data)); memset (gamma, 0, CDB_SIZE (MUSTEK_SCSI_SEND_DATA));
gamma[0] = MUSTEK_SCSI_SEND_DATA; gamma[0] = MUSTEK_SCSI_SEND_DATA;
gamma[2] = 0x03; /* indicates gamma table */ gamma[2] = 0x03; /* indicates gamma table */
if ((s->mode & MUSTEK_MODE_GRAY) || (s->mode & MUSTEK_MODE_COLOR)) if ((s->mode & MUSTEK_MODE_GRAY) || (s->mode & MUSTEK_MODE_COLOR))
{ {
if (s->hw->gamma_length + sizeof (scsi_send_data) > sizeof (gamma)) if ((size_t) s->hw->gamma_length + CDB_SIZE (MUSTEK_SCSI_SEND_DATA)
> sizeof (gamma))
return SANE_STATUS_NO_MEM; return SANE_STATUS_NO_MEM;
gamma[7] = (s->hw->gamma_length >> 8) & 0xff; gamma[7] = (s->hw->gamma_length >> 8) & 0xff;
gamma[8] = (s->hw->gamma_length >> 0) & 0xff; gamma[8] = (s->hw->gamma_length >> 0) & 0xff;
@ -2491,7 +2472,7 @@ send_gamma_table_se (Mustek_Scanner * s)
val_a = MAX (2 * val_b - val_a, 0); val_a = MAX (2 * val_b - val_a, 0);
/* Interpolate first entries from 256 entry table */ /* Interpolate first entries from 256 entry table */
cp = gamma + sizeof (scsi_send_data); cp = gamma + CDB_SIZE (MUSTEK_SCSI_SEND_DATA);
for (j = 0; j < factor; j++) for (j = 0; j < factor; j++)
*cp++ = CLIP (((factor - j) * val_a + j * val_b *cp++ = CLIP (((factor - j) * val_a + j * val_b
+ factor / 2) / factor); + factor / 2) / factor);
@ -2518,7 +2499,7 @@ send_gamma_table_se (Mustek_Scanner * s)
DBG (5, "send_gamma_table_se: sending table for color %d\n", DBG (5, "send_gamma_table_se: sending table for color %d\n",
gamma[6]); gamma[6]);
status = dev_cmd (s, gamma, sizeof (scsi_send_data) status = dev_cmd (s, gamma, CDB_SIZE (MUSTEK_SCSI_SEND_DATA)
+ s->hw->gamma_length, 0, 0); + s->hw->gamma_length, 0, 0);
++color; ++color;
} }
@ -2535,7 +2516,7 @@ send_gamma_table_se (Mustek_Scanner * s)
DBG (5, "send_gamma_table_se: sending lineart threshold %2X\n", DBG (5, "send_gamma_table_se: sending lineart threshold %2X\n",
gamma[8]); gamma[8]);
return dev_cmd (s, gamma, sizeof (scsi_send_data), 0, 0); return dev_cmd (s, gamma, CDB_SIZE (MUSTEK_SCSI_SEND_DATA), 0, 0);
} }
} }

Wyświetl plik

@ -152,48 +152,27 @@ AC_CHECK_LIB(sane, sane_init, LIBSANE_EXISTS="yes")
dnl ************************************************************** dnl **************************************************************
dnl SNMP CHECKS dnl Check for libsnmp availability
dnl ************************************************************** dnl **************************************************************
AC_ARG_WITH(snmp, AC_ARG_WITH(snmp,
AS_HELP_STRING([--with-snmp], [enable SNMP support @<:@default=yes@:>@])) AS_HELP_STRING([--with-snmp],
[enable SNMP support @<:@default=check@:>@]),
if test "$with_snmp" = "no"; then [],
echo "Not including SNMP support" [with_snmp=check])
else AC_DEFINE(HAVE_LIBSNMP,
AC_PATH_PROG(SNMP_CONFIG_PATH, net-snmp-config, "no") [0], [Define to 1 if libsnmp is available])
AC_CHECK_LIB([netsnmp], [snmp_timeout], LIBSNMP_EXISTS="yes") AS_IF([test xno != "x$with_snmp"],
AC_MSG_CHECKING(for proper SNMP version) [PKG_CHECK_MODULES(SNMP, [netsnmp >= 5.6],
if test "$SNMP_CONFIG_PATH" != "no" ; then [AC_DEFINE([HAVE_LIBSNMP], [1])
snmp_version=`$SNMP_CONFIG_PATH --version 2>/dev/null` with_snmp=yes
vers=`echo $snmp_version | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2);}'` ],
if test -n "$vers" && test "$vers" -ge 5006; then [AS_IF([test xcheck != "x$with_snmp"],
SNMP_LIBS=`$SNMP_CONFIG_PATH --libs` [AC_MSG_ERROR([libsnmp requested but not found])])
SNMP_CFLAGS=`$SNMP_CONFIG_PATH --cflags` with_snmp=no
AC_MSG_RESULT(yes) ])
with_snmp="yes" ])
else AM_CONDITIONAL([have_snmp], [test x != "x$SNMP_LIBS"])
AC_MSG_RESULT(no)
AC_MSG_WARN([You need at least net-snmp 5.6, your version is $snmp_version])
with_snmp="no"
fi
else
with_snmp="no"
AC_MSG_RESULT(no)
fi
fi
if test "$with_snmp" = "yes" && test "${LIBSNMP_EXISTS}x" = "yesx"; then
AC_SUBST(SNMP_LIBS)
AC_SUBST(SNMP_CFLAGS)
AC_DEFINE(HAVE_LIBSNMP, 1, [Define to 1 if you have the net-snmp library.])
else
AC_MSG_WARN([net-snmp library disabled, autodetecting network scanners will not be supported.])
fi
dnl *********************************************************************** dnl ***********************************************************************
dnl Checks for header files. dnl Checks for header files.