* Completed self-service list subscription via web.
[citadel.git] / citadel / tools.h
1 /* $Id$ */
2 char *safestrncpy(char *dest, const char *src, size_t n);
3 int num_tokens (char *source, char tok);
4 void extract_token(char *dest, char *source, int parmnum, char separator);
5 int extract_int (char *source, int parmnum);
6 long int extract_long (char *source, long int parmnum);
7 void encode_base64(char *dest, char *source);
8 int decode_base64(char *dest, char *source, size_t length);
9 void striplt(char *);
10 int haschar(const char *st, int ch);
11 int collapsed_strcmp(char *s1, char *s2);
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 extract(dest,source,parmnum)    extract_token(dest,source,parmnum,'|')
25 #define num_parms(source)               num_tokens(source, '|')
26 void stripout(char *str, char leftboundary, char rightboundary);
27 void stripallbut(char *str, char leftboundary, char rightboundary);
28
29 char *myfgets(char *s, int size, FILE *stream);
30 void urlesc(char *outbuf, char *strbuf);