2009-01-22 23:12:27 +00:00
|
|
|
#define FPARSELN_UNESCESC 0x01
|
|
|
|
#define FPARSELN_UNESCCONT 0x02
|
|
|
|
#define FPARSELN_UNESCCOMM 0x04
|
|
|
|
#define FPARSELN_UNESCREST 0x08
|
|
|
|
#define FPARSELN_UNESCALL 0x0f
|
|
|
|
|
|
|
|
size_t strlcpy(char *, const char *, size_t);
|
|
|
|
size_t strlcat(char *, const char *, size_t);
|
|
|
|
|
|
|
|
char *fgetln(FILE *, size_t *);
|
|
|
|
char *fparseln(FILE *, size_t *, size_t *, const char [3], int);
|
|
|
|
|
|
|
|
long long strtonum(const char *, long long, long long, const char **);
|
2009-10-13 14:38:49 +00:00
|
|
|
|
2010-01-11 20:44:54 +00:00
|
|
|
#ifndef WAIT_ANY
|
|
|
|
#define WAIT_ANY (-1)
|
|
|
|
#endif
|
|
|
|
|
2009-10-13 14:38:49 +00:00
|
|
|
/* there is no limit to ulrich drepper's crap */
|
|
|
|
#ifndef TAILQ_END
|
|
|
|
#define TAILQ_END(head) NULL
|
|
|
|
#endif
|
2014-03-12 05:02:44 +08:00
|
|
|
|
|
|
|
#ifndef TAILQ_FOREACH_SAFE
|
|
|
|
#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \
|
|
|
|
for ((var) = TAILQ_FIRST(head); \
|
|
|
|
(var) != TAILQ_END(head) && \
|
|
|
|
((tvar) = TAILQ_NEXT(var, field), 1); \
|
|
|
|
(var) = (tvar))
|
|
|
|
#endif
|