GCC12: Fixes for 16+

Most issues were in stringfields and had to do with comparing
a pointer to an constant/interned string with NULL.  Since the
string was a constant, a pointer to it could never be NULL so
the comparison was always "true".  gcc now complains about that.

There were also a few issues where determining if there was
enough space for a memcpy or s(n)printf which were fixed
by defining some of the involved variables as "volatile".

There were also a few other miscellaneous fixes.

ASTERISK-30044

Change-Id: Ia081ca1bcfb329df6487c4660aaf1944309eb570
This commit is contained in:
George Joseph
2022-05-03 06:57:58 -06:00
committed by Joshua Colp
parent dfd2e4006b
commit ad6af63895
12 changed files with 74 additions and 46 deletions

View File

@@ -48,7 +48,7 @@ static void cleanup(char *element)
}
#define STRING_CMP(a, b) ({ \
((a) == NULL || (b) == NULL) ? -1 : (strcmp((a), (b)) == 0); \
((void *)(a) == (void *)NULL || (void *)(b) == (void *)NULL) ? -1 : (strcmp((a), (b)) == 0); \
})
AST_TEST_DEFINE(basic_ops)