BUILD: mjson: Fix warning about unused variables

clang 15 reports unused variables in src/mjson.c:

  src/mjson.c:196:21: fatal error: expected ';' at end of declaration
    int __maybe_unused n = 0;

and

  src/mjson.c:727:17: fatal error: variable 'n' set but not used [-Wunused-but-set-variable]
    int sign = 1, n = 0;

An issue was created on the project, but it was not fixed for now:

   https://github.com/cesanta/mjson/issues/51

So for now, to fix the build issue, these variables are declared as unused.
Of course, if there is any update on this library, be careful to review this
patch first to be sure it is always required.

This patch should fix the issue #1868. It be backported as far as 2.4.
This commit is contained in:
Christopher Faulet 2023-05-10 18:41:54 +02:00
parent f0e8e79b3b
commit 16e314150a

View File

@ -192,7 +192,7 @@ static int plen1(const char *s) {
}
static int plen2(const char *s) {
int i = 0, n = 0;
int i = 0, __attribute__((unused)) n = 0;
while (s[i] != '\0' && s[i] != '.' && s[i] != '[')
n++, i += s[i] == '\\' ? 2 : 1;
// printf("PLEN: s: [%s], [%.*s] => %d\n", s, i, s, n);
@ -724,7 +724,7 @@ static int is_digit(int c) {
/* NOTE: strtod() implementation by Yasuhiro Matsumoto. */
static double mystrtod(const char *str, char **end) {
double d = 0.0;
int sign = 1, n = 0;
int sign = 1, __attribute__((unused)) n = 0;
const char *p = str, *a = str;
/* decimal part */