36 #ifndef LIBITE_STRING_H_ 37 #define LIBITE_STRING_H_ 41 #include <sys/param.h> 51 __typeof__ (a) _a = (a); \ 52 __typeof__ (b) _b = (b); \ 60 __typeof__ (a) _a = (a); \ 61 __typeof__ (b) _b = (b); \ 66 int strnmatch (
const char *str,
const char **list,
size_t num);
67 int strmatch (
const char *str,
const char **list);
70 size_t strlcpy (
char *dst,
const char *src,
size_t siz);
73 size_t strlcat (
char *dst,
const char *src,
size_t siz);
76 long long strtonum (
const char *numstr,
long long minval,
long long maxval,
const char **errstrp);
86 static inline int atonum(
const char *str)
92 val =
strtonum(str, 0, INT32_MAX, &errstr);
105 static inline int string_valid(
const char *str)
107 return str && strlen(str);
116 static inline int string_match(
const char *a,
const char *b)
118 size_t min = MIN(strlen(a), strlen(b));
120 return !strncasecmp(a, b, min);
129 static inline int string_compare(
const char *a,
const char *b)
131 return strlen(a) == strlen(b) && !strcmp(a, b);
141 static inline int string_case_compare(
const char *a,
const char *b)
143 return strlen(a) == strlen(b) && !strcasecmp(a, b);
int strmatch(const char *str, const char **list)
Finds matching strings from a list.
Definition: strmatch.c:74
char * strtrim(char *str)
Strip leading and trailing whitespace from a string.
Definition: strtrim.c:44
#define min(a, b)
Geneirc min() macro, if a < b => a, else b.
Definition: strlite.h:49
long long strtonum(const char *numstr, long long minval, long long maxval, const char **errstrp)
Reliably convert string value to an integer.
Definition: strtonum.c:75
size_t strlcpy(char *dst, const char *src, size_t siz)
Safe version of strncpy() from OpenBSD.
Definition: strlcpy.c:44
size_t strlcat(char *dst, const char *src, size_t siz)
Safe version of strncat() from OpenBSD.
Definition: strlcat.c:45
int strnmatch(const char *str, const char **list, size_t num)
Finds matching strings from a finite list.
Definition: strmatch.c:43