improving dissector_fuzz
[netsniff-ng.git] / src / xstring.h
blob5fafacbb282f2c1c8193434e34bbccacc25a2f1f
1 /*
2 * netsniff-ng - the packet sniffing beast
3 * By Daniel Borkmann <daniel@netsniff-ng.org>
4 * Copyright 2009, 2010, 2011, 2012 Daniel Borkmann.
5 * Copyright 2009, 2010, 2011, 2012 Emmanuel Roullit.
6 * Subject to the GPL, version 2.
7 */
9 #ifndef XSTRING_H
10 #define XSTRING_H
12 #include <stdint.h>
14 #include "die.h"
15 #include "built_in.h"
17 extern size_t strlcpy(char *dest, const char *src, size_t size);
18 extern int slprintf(char *dst, size_t size, const char *fmt, ...);
19 extern noinline void *xmemset(void *s, int c, size_t n);
20 extern char *getuint(char *in, uint32_t *out);
21 extern char *strtrim_right(register char *p, register char c);
22 extern char *strtrim_left(register char *p, register char c);
24 static inline char *skips(char *p)
26 return strtrim_left(p, ' ');
29 static inline char *skipt(char *p)
31 return strtrim_left(p, '\t');
34 static inline char *skipchar(char *in, char c)
36 if (*in != c)
37 panic("Syntax error!\n");
38 return ++in;
41 static inline char *skipchar_s(char *in, char c)
43 in = skips(in);
44 if (*in == '\n')
45 return in;
46 in = skipchar(in, c);
47 in = skips(in);
48 return in;
51 #endif /* XSTRING_H */