wdctl: mark flags field as unsigned long

This is required by string_to_bitmask().
The previous cast failed on s390x with the following warning:

In function 'string_to_bitmask',
    inlined from 'string_to_bitmask' at lib/strutils.c:802:5,
    inlined from 'main' at sys-utils/wdctl.c:770:8:
lib/strutils.c:829:23: error: write of 64-bit data outside the bound of destination object, data truncated into 32-bit [-Werror=extra]
  829 |                 *mask |= flag;
      |
This commit is contained in:
Thomas Weißschuh 2023-01-08 03:29:51 +00:00
parent 65e5339021
commit f36f3251c5

View file

@ -713,7 +713,7 @@ int main(int argc, char *argv[])
struct wd_device wd;
struct wd_control ctl = { .hide_headings = 0 };
int c, res = EXIT_SUCCESS, count = 0;
uint32_t wanted = 0;
unsigned long wanted = 0;
const char *dflt_device = NULL;
static const struct option long_opts[] = {
@ -767,7 +767,7 @@ int main(int argc, char *argv[])
ctl.set_pretimeout = 1;
break;
case 'f':
if (string_to_bitmask(optarg, (unsigned long *) &wanted, name2bit) != 0)
if (string_to_bitmask(optarg, &wanted, name2bit) != 0)
return EXIT_FAILURE;
break;
case 'F':