libsa: make single bit bitfields unsigned to avoid clang 16 warning

Clang 16 introduced a warning about single bit bitfields in structs,
which is triggered by a declaration in libsa's tftp.c:

    stand/libsa/tftp.c:382:20: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                                    h->islastblock = 1;     /* very short file */
                                                   ^ ~
    stand/libsa/tftp.c:432:18: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                    h->islastblock = 1;     /* EOF */
                                   ^ ~

Signed one-bit bitfields can only have values -1 and 0, but the intent
here is to use the field as a boolean, so make it unsigned.

MFC after:	3 days
This commit is contained in:
Dimitry Andric 2023-04-17 18:15:57 +02:00
parent b740e02500
commit 1a3ccb8f15

View file

@ -106,8 +106,8 @@ static int is_open = 0;
struct tftp_handle {
struct iodesc *iodesc;
int currblock; /* contents of lastdata */
int islastblock:1; /* flag */
int tries:4; /* number of read attempts */
unsigned int islastblock:1; /* flag */
unsigned int tries:4; /* number of read attempts */
int validsize;
int off;
char *path; /* saved for re-requests */