#include "mutt.h"
#include "charset.h"
+#include "ascii.h"
#include "lib/mem.h"
#include "lib/intl.h"
*/
static struct {
- char *key;
- char *pref;
+ const char *key;
+ const char *pref;
} PreferredMIMENames[] = {
{
"ansi_x3.4-1968", "us-ascii"}, {
"latin6", "iso-8859-10"}, /* this is not a bug */
{
"l6", "iso-8859-10"}, {
- "csISOLatin6" "iso-8859-10"}, {
+ "csISOLatin6", "iso-8859-10"}, {
"csKOI8r", "koi8-r"}, {
"MS_Kanji", "Shift_JIS"}, /* Note the underscore! */
{
return (iconv_t) (-1);
}
-size_t iconv (iconv_t cd, ICONV_CONST char **inbuf, size_t * inbytesleft,
+size_t iconv (iconv_t cd, const char **inbuf, size_t * inbytesleft,
char **outbuf, size_t * outbytesleft)
{
return 0;
* if you're supplying an outrepl, the target charset should be.
*/
-size_t mutt_iconv (iconv_t cd, ICONV_CONST char **inbuf, size_t * inbytesleft,
+size_t mutt_iconv (iconv_t cd, const char **inbuf, size_t * inbytesleft,
char **outbuf, size_t * outbytesleft,
- ICONV_CONST char **inrepls, const char *outrepl)
+ const char **inrepls, const char *outrepl)
{
size_t ret = 0, ret1;
- ICONV_CONST char *ib = *inbuf;
+ const char *ib = *inbuf;
size_t ibl = *inbytesleft;
char *ob = *outbuf;
size_t obl = *outbytesleft;
if (ibl && obl && errno == EILSEQ) {
if (inrepls) {
/* Try replacing the input */
- ICONV_CONST char **t;
+ const char **t;
for (t = inrepls; *t; t++) {
- ICONV_CONST char *ib1 = *t;
+ const char *ib1 = *t;
size_t ibl1 = str_len (*t);
char *ob1 = ob;
size_t obl1 = obl;
int flags)
{
iconv_t cd;
- ICONV_CONST char *repls[] = { "\357\277\275", "?", 0 };
+ const char *repls[] = { "\357\277\275", "?", 0 };
char *s = *ps;
if (!s || !*s)
if (to && from && (cd = mutt_iconv_open (to, from, flags)) != (iconv_t) - 1) {
int len;
- ICONV_CONST char *ib;
+ const char *ib;
char *buf, *ob;
size_t ibl, obl;
- ICONV_CONST char **inrepls = 0;
- char *outrepl = 0;
+ const char **inrepls = NULL;
+ const char *outrepl = NULL;
if (mutt_is_utf8 (to))
outrepl = "\357\277\275";
len = str_len (s);
ib = s, ibl = len + 1;
obl = MB_LEN_MAX * ibl;
- ob = buf = safe_malloc (obl + 1);
+ ob = buf = mem_malloc (obl + 1);
mutt_iconv (cd, &ib, &ibl, &ob, &obl, inrepls, outrepl);
iconv_close (cd);
*ob = '\0';
- FREE (ps);
+ mem_free (ps);
*ps = buf;
str_adjust (ps);
char *ob;
char *ib;
size_t ibl;
- ICONV_CONST char **inrepls;
+ const char **inrepls;
};
struct fgetconv_not {
{
struct fgetconv_s *fc;
iconv_t cd = (iconv_t) - 1;
- static ICONV_CONST char *repls[] = { "\357\277\275", "?", 0 };
+ static const char *repls[] = { "\357\277\275", "?", 0 };
if (from && to)
cd = mutt_iconv_open (to, from, flags);
if (cd != (iconv_t) - 1) {
- fc = safe_malloc (sizeof (struct fgetconv_s));
+ fc = mem_malloc (sizeof (struct fgetconv_s));
fc->p = fc->ob = fc->bufo;
fc->ib = fc->bufi;
fc->ibl = 0;
fc->inrepls = mutt_is_utf8 (to) ? repls : repls + 1;
}
else
- fc = safe_malloc (sizeof (struct fgetconv_not));
+ fc = mem_malloc (sizeof (struct fgetconv_not));
fc->file = file;
fc->cd = cd;
return (FGETCONV *) fc;
if (fc->ibl) {
size_t obl = sizeof (fc->bufo);
- iconv (fc->cd, (ICONV_CONST char **) &fc->ib, &fc->ibl, &fc->ob, &obl);
+ iconv (fc->cd, (const char **) &fc->ib, &fc->ibl, &fc->ob, &obl);
if (fc->p < fc->ob)
return (unsigned char) *(fc->p)++;
}
if (fc->ibl) {
size_t obl = sizeof (fc->bufo);
- mutt_iconv (fc->cd, (ICONV_CONST char **) &fc->ib, &fc->ibl, &fc->ob,
+ mutt_iconv (fc->cd, (const char **) &fc->ib, &fc->ibl, &fc->ob,
&obl, fc->inrepls, 0);
if (fc->p < fc->ob)
return (unsigned char) *(fc->p)++;
if (fc->cd != (iconv_t) - 1)
iconv_close (fc->cd);
- FREE (_fc);
+ mem_free (_fc);
}
-char *mutt_get_first_charset (const char *charset)
+const char *mutt_get_first_charset (const char *charset)
{
static char fcharset[SHORT_STRING];
const char *c, *c1;
return fcharset;
}
-static size_t convert_string (ICONV_CONST char *f, size_t flen,
+static size_t convert_string (const char *f, size_t flen,
const char *from, const char *to,
char **t, size_t * tlen)
{
if (cd == (iconv_t) (-1))
return (size_t) (-1);
obl = 4 * flen + 1;
- ob = buf = safe_malloc (obl);
+ ob = buf = mem_malloc (obl);
n = iconv (cd, &f, &flen, &ob, &obl);
if (n == (size_t) (-1) || iconv (cd, 0, 0, &ob, &obl) == (size_t) (-1)) {
e = errno;
- FREE (&buf);
+ mem_free (&buf);
iconv_close (cd);
errno = e;
return (size_t) (-1);
*tlen = ob - buf;
- safe_realloc (&buf, ob - buf + 1);
+ mem_realloc (&buf, ob - buf + 1);
*t = buf;
iconv_close (cd);
for (c = AssumedCharset; c; c = c1 ? c1 + 1 : 0) {
char *u = *ps;
- char *s;
+ char *s = NULL;
char *fromcode;
size_t m, n;
size_t ulen = str_len (*ps);
n = c1 ? c1 - c : str_len (c);
if (!n)
continue;
- fromcode = safe_malloc (n + 1);
+ fromcode = mem_malloc (n + 1);
strfcpy (fromcode, c, n + 1);
m = convert_string (u, ulen, fromcode, Charset, &s, &slen);
- FREE (&fromcode);
+ mem_free (&fromcode);
if (m != (size_t) (-1)) {
- FREE (ps);
+ mem_free (ps);
*ps = s;
return 0;
}