/*
* Header file for libcitadel
*
- * Copyright (c) 1987-2021 by the citadel.org team
+ * Copyright (c) 1987-2022 by the citadel.org team
*
- * This program is open source software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+// This program is open source software. Use, duplication, or disclosure
+// is subject to the terms of the GNU General Public License, version 3.
*/
/* protect against double includes */
#include <sys/types.h>
#include <netinet/in.h>
-#define LIBCITADEL_VERSION_NUMBER 946
+#define LIBCITADEL_VERSION_NUMBER 957
/*
* Here's a bunch of stupid magic to make the MIME parser portable.
void StrBuf_RFC822_to_Utf8(StrBuf *Target, const StrBuf *DecodeMe, const StrBuf* DefaultCharset, StrBuf *FoundCharset);
typedef enum __eStreamType {
- eBase64Encode,
- eBase64Decode,
+ //eBase64Encode,
+ //eBase64Decode,
eZLibEncode,
eZLibDecode,
eEmtyCodec
unsigned long extract_unsigned_long(const char *source, int parmnum);
void CtdlInitBase64Table(void);
size_t CtdlEncodeBase64(char *dest, const char *source, size_t sourcelen, int linebreaks);
-int CtdlDecodeBase64(char *dest, const char *source, size_t length);
+enum {
+ BASE64_NO_LINEBREAKS = 0,
+ BASE64_YES_LINEBREAKS = 1
+};
+size_t CtdlDecodeBase64(char *dest, const char *source, size_t length);
unsigned int decode_hex(char *Source);
int CtdlDecodeQuotedPrintable(char *decoded, char *encoded, int sourcelen);
void StripSlashes(char *Dir, int TrailingSlash);
void stripltlen(char *, int *);
char *html_to_ascii(const char *inputmsg, int msglen, int screenwidth);
void LoadEntityList(char *FileName);
+void utf8ify_rfc822_string(char *buf);
typedef struct {