#endif
-void mutt_canonical_charset (char *dest, size_t dlen, const char *name)
+void mutt_canonical_charset (char *dest, ssize_t dlen, const char *name)
{
- size_t i;
+ ssize_t i;
char *p;
char scratch[LONG_STRING];
* if you're supplying an outrepl, the target charset should be.
*/
-size_t mutt_iconv (iconv_t cd, const char **inbuf, size_t * inbytesleft,
- char **outbuf, size_t * outbytesleft,
+ssize_t mutt_iconv(iconv_t cd, const char **inbuf, ssize_t *inbytesleft,
+ char **outbuf, ssize_t *outbytesleft,
const char **inrepls, const char *outrepl)
{
- size_t ret = 0, ret1;
+ ssize_t ret = 0, ret1;
const char *ib = *inbuf;
- size_t ibl = *inbytesleft;
+ ssize_t ibl = *inbytesleft;
char *ob = *outbuf;
- size_t obl = *outbytesleft;
+ ssize_t obl = *outbytesleft;
for (;;) {
ret1 = my_iconv(cd, &ib, &ibl, &ob, &obl);
- if (ret1 != (size_t) - 1)
+ if (ret1 != -1)
ret += ret1;
if (ibl && obl && errno == EILSEQ) {
if (inrepls) {
for (t = inrepls; *t; t++) {
const char *ib1 = *t;
- size_t ibl1 = m_strlen(*t);
+ ssize_t ibl1 = m_strlen(*t);
char *ob1 = ob;
- size_t obl1 = obl;
+ ssize_t obl1 = obl;
my_iconv(cd, &ib1, &ibl1, &ob1, &obl1);
if (!ibl1) {
outrepl = "?";
my_iconv(cd, 0, 0, &ob, &obl);
if (obl) {
- size_t n = m_strlen(outrepl);
+ ssize_t n = m_strlen(outrepl);
if (n > obl) {
outrepl = "?";
int len;
const char *ib;
char *buf, *ob;
- size_t ibl, obl;
+ ssize_t ibl, obl;
const char **inrepls = NULL;
const char *outrepl = NULL;
char *p;
char *ob;
char *ib;
- size_t ibl;
+ ssize_t ibl;
const char **inrepls;
};
return (FGETCONV *) fc;
}
-char *fgetconvs (char *buf, size_t l, FGETCONV * _fc)
+char *fgetconvs (char *buf, ssize_t l, FGETCONV * _fc)
{
int c;
- size_t r;
+ ssize_t r;
for (r = 0; r + 1 < l;) {
if ((c = fgetconv (_fc)) == EOF)
/* Try to convert some more */
fc->p = fc->ob = fc->bufo;
if (fc->ibl) {
- size_t obl = sizeof (fc->bufo);
+ ssize_t obl = ssizeof(fc->bufo);
my_iconv(fc->cd, (const char **) &fc->ib, &fc->ibl, &fc->ob, &obl);
if (fc->p < fc->ob)
/* Try harder this time to convert some */
if (fc->ibl) {
- size_t obl = sizeof (fc->bufo);
+ ssize_t obl = ssizeof(fc->bufo);
mutt_iconv (fc->cd, (const char **) &fc->ib, &fc->ibl, &fc->ob,
&obl, fc->inrepls, 0);
return fcharset;
}
-static size_t convert_string (const char *f, size_t flen,
+static ssize_t convert_string (const char *f, ssize_t flen,
const char *from, const char *to,
- char **t, size_t * tlen)
+ char **t, ssize_t * tlen)
{
iconv_t cd;
char *buf, *ob;
- size_t obl;
+ ssize_t obl;
ssize_t n;
int e;
cd = mutt_iconv_open (to, from, 0);
if (cd == (iconv_t) (-1))
- return (size_t) (-1);
+ return -1;
obl = 4 * flen + 1;
ob = buf = xmalloc(obl);
n = my_iconv(cd, &f, &flen, &ob, &obl);
p_delete(&buf);
iconv_close (cd);
errno = e;
- return (size_t) (-1);
+ return -1;
}
*ob = '\0';
char *u = *ps;
char *s = NULL;
char *fromcode;
- size_t m, n;
- size_t ulen = m_strlen(*ps);
- size_t slen;
+ ssize_t m, n;
+ ssize_t ulen = m_strlen(*ps);
+ ssize_t slen;
if (!u || !*u)
return 0;
fromcode = p_dupstr(c, n);
m = convert_string (u, ulen, fromcode, Charset, &s, &slen);
p_delete(&fromcode);
- if (m != (size_t) (-1)) {
+ if (m != -1) {
p_delete(ps);
*ps = s;
return 0;