mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2025-12-20 03:20:05 +01:00
Fix a few gcc analyzer complaints in util-strings.*
Sprinkle a few asserts into the various string helpers for where our arguments must not be NULL. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
2ebb6f629f
commit
35a237e24c
2 changed files with 31 additions and 0 deletions
|
|
@ -39,6 +39,8 @@
|
|||
static const char *
|
||||
next_word(const char **state, size_t *len, const char *separators)
|
||||
{
|
||||
assert(state != NULL);
|
||||
|
||||
const char *next = *state;
|
||||
size_t l;
|
||||
|
||||
|
|
@ -72,6 +74,7 @@ strv_from_argv(int argc, char **argv)
|
|||
char **strv = NULL;
|
||||
|
||||
assert(argc >= 0);
|
||||
assert(argv != NULL);
|
||||
|
||||
if (argc == 0)
|
||||
return NULL;
|
||||
|
|
@ -109,6 +112,8 @@ char **
|
|||
strv_from_string(const char *in, const char *separators, size_t *num_elements)
|
||||
{
|
||||
assert(in != NULL);
|
||||
assert(separators != NULL);
|
||||
assert(num_elements != NULL);
|
||||
|
||||
const char *s = in;
|
||||
size_t l, nelems = 0;
|
||||
|
|
@ -159,6 +164,8 @@ strv_from_string(const char *in, const char *separators, size_t *num_elements)
|
|||
char *
|
||||
strv_join(char **strv, const char *joiner)
|
||||
{
|
||||
assert(strv != NULL);
|
||||
|
||||
char **s;
|
||||
char *str;
|
||||
size_t slen = 0;
|
||||
|
|
@ -200,6 +207,8 @@ strv_join(char **strv, const char *joiner)
|
|||
const char *
|
||||
safe_basename(const char *filename)
|
||||
{
|
||||
assert(filename != NULL);
|
||||
|
||||
const char *basename;
|
||||
|
||||
if (*filename == '\0')
|
||||
|
|
@ -229,6 +238,8 @@ safe_basename(const char *filename)
|
|||
char *
|
||||
trunkname(const char *filename)
|
||||
{
|
||||
assert(filename != NULL);
|
||||
|
||||
const char *base = safe_basename(filename);
|
||||
char *suffix;
|
||||
|
||||
|
|
|
|||
|
|
@ -143,6 +143,8 @@ xvasprintf(char **strp, const char *fmt, va_list args)
|
|||
static inline bool
|
||||
safe_atoi_base(const char *str, int *val, int base)
|
||||
{
|
||||
assert(str != NULL);
|
||||
|
||||
char *endptr;
|
||||
long v;
|
||||
|
||||
|
|
@ -167,12 +169,15 @@ safe_atoi_base(const char *str, int *val, int base)
|
|||
static inline bool
|
||||
safe_atoi(const char *str, int *val)
|
||||
{
|
||||
assert(str != NULL);
|
||||
return safe_atoi_base(str, val, 10);
|
||||
}
|
||||
|
||||
static inline bool
|
||||
safe_atou_base(const char *str, unsigned int *val, int base)
|
||||
{
|
||||
assert(str != NULL);
|
||||
|
||||
char *endptr;
|
||||
unsigned long v;
|
||||
|
||||
|
|
@ -197,12 +202,15 @@ safe_atou_base(const char *str, unsigned int *val, int base)
|
|||
static inline bool
|
||||
safe_atou(const char *str, unsigned int *val)
|
||||
{
|
||||
assert(str != NULL);
|
||||
return safe_atou_base(str, val, 10);
|
||||
}
|
||||
|
||||
static inline bool
|
||||
safe_atod(const char *str, double *val)
|
||||
{
|
||||
assert(str != NULL);
|
||||
|
||||
char *endptr;
|
||||
double v;
|
||||
#ifdef HAVE_LOCALE_H
|
||||
|
|
@ -288,6 +296,10 @@ double_array_from_string(const char *in,
|
|||
const char *separator,
|
||||
size_t *length)
|
||||
{
|
||||
assert(in != NULL);
|
||||
assert(separator != NULL);
|
||||
assert(length != NULL);
|
||||
|
||||
double *result = NULL;
|
||||
*length = 0;
|
||||
|
||||
|
|
@ -386,6 +398,8 @@ error:
|
|||
static inline char *
|
||||
strstrip(const char *input, const char *what)
|
||||
{
|
||||
assert(input != NULL);
|
||||
|
||||
char *str, *last;
|
||||
|
||||
str = safe_strdup(&input[strspn(input, what)]);
|
||||
|
|
@ -409,6 +423,9 @@ strstrip(const char *input, const char *what)
|
|||
static inline bool
|
||||
strendswith(const char *str, const char *suffix)
|
||||
{
|
||||
if (str == NULL)
|
||||
return false;
|
||||
|
||||
size_t slen = strlen(str);
|
||||
size_t suffixlen = strlen(suffix);
|
||||
size_t offset;
|
||||
|
|
@ -423,6 +440,9 @@ strendswith(const char *str, const char *suffix)
|
|||
static inline bool
|
||||
strstartswith(const char *str, const char *prefix)
|
||||
{
|
||||
if (str == NULL)
|
||||
return false;
|
||||
|
||||
size_t prefixlen = strlen(prefix);
|
||||
|
||||
return prefixlen > 0 ? strneq(str, prefix, strlen(prefix)) : false;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue