* extract_token() now expects to be supplied with the size of the
[citadel.git] / citadel / tools.h
1 /* $Id$ */
2 char *safestrncpy(char *dest, const char *src, size_t n);
3 int num_tokens (const char *source, char tok);
4 void extract_token(char *dest, const char *source, int parmnum, char separator, int maxlen);
5 int extract_int (const char *source, int parmnum);
6 long extract_long (const char *source, int parmnum);
7 unsigned long extract_unsigned_long(const char *source, int parmnum);
8 void CtdlEncodeBase64(char *dest, const char *source, size_t sourcelen);
9 int CtdlDecodeBase64(char *dest, const char *source, size_t length);
10 void striplt(char *);
11 int haschar(const char *st, int ch);
12 void remove_token(char *source, int parmnum, char separator);
13 void fmt_date(char *buf, size_t n, time_t thetime, int seconds);
14 int is_msg_in_mset(char *mset, long msgnum);
15 char *memreadline(char *start, char *buf, int maxlen);
16
17 #ifndef HAVE_STRNCASECMP
18 int strncasecmp(char *, char *, int);
19 #endif
20 #ifndef HAVE_STRCASECMP
21 #define strcasecmp(x,y) strncasecmp(x,y,INT_MAX);
22 #endif
23
24 #define num_parms(source)               num_tokens(source,(char)'|')
25 void stripout(char *str, char leftboundary, char rightboundary);
26 void stripallbut(char *str, char leftboundary, char rightboundary);
27
28 char *myfgets(char *s, int size, FILE *stream);
29 void urlesc(char *outbuf, char *strbuf);
30 char *CtdlTempFileName(char *prefix1, int prefix2);
31 FILE *CtdlTempFile(void);
32 char *bmstrstr(char *text, char *pattern,
33         int (*cmpfunc)(const char *, const char *, size_t) );
34
35 char *ascmonths[12];
36 void generate_uuid(char *buf);