/* parsing related */
/****************************************************************************/
+__attribute__((nonnull(1)))
static inline const char *m_strchrnul(const char *s, int c) {
while (*s && *s != c)
s++;
return s;
}
+__attribute__((nonnull(1)))
static inline const char *m_strnextsp(const char *s) {
while (*s && !isspace((unsigned char)*s))
s++;
return s;
}
+__attribute__((nonnull(1)))
static inline const char *skipspaces(const char *s) {
- while (*s && isspace((unsigned char)*s))
+ while (isspace((unsigned char)*s))
s++;
return s;
}
+__attribute__((nonnull(1)))
static inline char *vskipspaces(const char *s) {
return (char *)skipspaces(s);
}