X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Ftools.h;h=7c9f5c01728f8a36cd26c972bc3ac26e70619f3a;hb=a4e0c69c19dc8bb3c27459e81f9050099b1d86aa;hp=41bfb94073db9815caacdd18af65d843a1108a39;hpb=a9438eac305db65f7bbd4baddef8b9c48c9a1746;p=citadel.git diff --git a/citadel/tools.h b/citadel/tools.h index 41bfb9407..7c9f5c017 100644 --- a/citadel/tools.h +++ b/citadel/tools.h @@ -1,18 +1,22 @@ /* $Id$ */ char *safestrncpy(char *dest, const char *src, size_t n); int num_tokens (const char *source, char tok); -void extract_token(char *dest, const char *source, int parmnum, char separator, int maxlen); +long extract_token(char *dest, const char *source, int parmnum, char separator, int maxlen); +long grab_token(char **dest, const char *source, int parmnum, char separator); int extract_int (const char *source, int parmnum); long extract_long (const char *source, int parmnum); unsigned long extract_unsigned_long(const char *source, int parmnum); +void CtdlInitBase64Table(void); void CtdlEncodeBase64(char *dest, const char *source, size_t sourcelen); int CtdlDecodeBase64(char *dest, const char *source, size_t length); +int CtdlDecodeQuotedPrintable(char *decoded, char *encoded, int sourcelen); void striplt(char *); int haschar(const char *st, int ch); void remove_token(char *source, int parmnum, char separator); void fmt_date(char *buf, size_t n, time_t thetime, int seconds); int is_msg_in_sequence_set(char *mset, long msgnum); char *memreadline(char *start, char *buf, int maxlen); +char *memreadlinelen(char *start, char *buf, int maxlen, int *retlen); #ifndef HAVE_STRNCASECMP int strncasecmp(char *, char *, int); @@ -21,6 +25,8 @@ int strncasecmp(char *, char *, int); #define strcasecmp(x,y) strncasecmp(x,y,INT_MAX); #endif +#define IsEmptyStr(a) ((a)[0] == '\0') + #define num_parms(source) num_tokens(source,(char)'|') void stripout(char *str, char leftboundary, char rightboundary); void stripallbut(char *str, char leftboundary, char rightboundary); @@ -32,3 +38,5 @@ FILE *CtdlTempFile(void); char *ascmonths[12]; void generate_uuid(char *buf); char *bmstrcasestr(char *text, char *pattern); +void CtdlMakeTempFileName(char *name, int len); +char *rfc2047encode(char *line, long length);