X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/blobdiff_plain/88312881242f20e35ed0e0544749945c9538ed02..e9b66bd166d33ade31b5b89179fbafa84bcf0541:/hmland.c diff --git a/hmland.c b/hmland.c index c1ba714..fd17e85 100644 --- a/hmland.c +++ b/hmland.c @@ -116,12 +116,18 @@ static void write_log(const char *buf, int len, const char *fmt, ...) if (fmt) { if (logfile) { va_start(ap, fmt); +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wformat-nonliteral" vfprintf(logfile, fmt, ap); +#pragma GCC diagnostic pop va_end(ap); } if (verbose) { va_start(ap, fmt); +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wformat-nonliteral" vprintf(fmt, ap); +#pragma GCC diagnostic pop va_end(ap); } } @@ -142,12 +148,12 @@ static void write_log(const char *buf, int len, const char *fmt, ...) fflush(logfile); } -static int format_part_out(uint8_t **inpos, int inlen, uint8_t **outpos, int outlen, int len, int flags) +static int format_part_out(uint8_t **inpos, int inlen, uint8_t **outpos, int outlen, size_t len, int flags) { uint8_t *buf_out = *outpos; uint8_t *outend = *outpos + outlen; uint8_t *inend = *inpos + inlen; - int i; + size_t i; if (flags & FLAG_COMMA_BEFORE) { CHECK_SPACE(1); @@ -202,7 +208,7 @@ static int parse_part_in(uint8_t **inpos, int inlen, uint8_t **outpos, int outle uint8_t *inend = *inpos + inlen; if (flags & FLAG_LENGTH_BYTE) { - int len = 0; + size_t len = 0; uint8_t *ip; ip = *inpos; @@ -431,7 +437,7 @@ static int hmlan_parse_one(uint8_t *cmd, int last, void *data) parse_part_in(&inpos, (last-(inpos-cmd)), &outpos, (sizeof(out)-(outpos-out)), 0); parse_part_in(&inpos, (last-(inpos-cmd)), &outpos, (sizeof(out)-(outpos-out)), 0); parse_part_in(&inpos, (last-(inpos-cmd)), &outpos, (sizeof(out)-(outpos-out)), FLAG_LENGTH_BYTE); - break; + // Fallthrough to default expected, no break here default: parse_part_in(&inpos, (last-(inpos-cmd)), &outpos, (sizeof(out)-(outpos-out)), FLAG_IGNORE_COMMAS); break;