X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fmime.c;h=7c6d23df9cf9566bcfb2918d16d1987b6ecd5739;hb=9815773952dd56fe4d33291ace6d0ee7afd77852;hp=bc2d2f08aeba64a6d1f1f72f3e843e2f4dda0ed6;hpb=3634fc257bd0667daef14d72005cd87c735bbb24;p=exim.git diff --git a/src/src/mime.c b/src/src/mime.c index bc2d2f08a..7c6d23df9 100644 --- a/src/src/mime.c +++ b/src/src/mime.c @@ -73,9 +73,10 @@ uschar *mime_decode_qp_char(uschar *qp_p, int *c) { /* just dump MIME part without any decoding */ -static int mime_decode_asis(FILE* in, FILE* out, uschar* boundary) +static ssize_t +mime_decode_asis(FILE* in, FILE* out, uschar* boundary) { - int len, size = 0; + ssize_t len, size = 0; uschar buffer[MIME_MAX_LINE_LENGTH]; while(fgets(CS buffer, MIME_MAX_LINE_LENGTH, mime_stream) != NULL) { @@ -95,11 +96,12 @@ static int mime_decode_asis(FILE* in, FILE* out, uschar* boundary) /* decode base64 MIME part */ -static int mime_decode_base64(FILE* in, FILE* out, uschar* boundary) +static ssize_t +mime_decode_base64(FILE* in, FILE* out, uschar* boundary) { uschar ibuf[MIME_MAX_LINE_LENGTH], obuf[MIME_MAX_LINE_LENGTH]; uschar *ipos, *opos; - size_t len, size = 0; + ssize_t len, size = 0; int bytestate = 0; opos = obuf; @@ -169,11 +171,12 @@ static int mime_decode_base64(FILE* in, FILE* out, uschar* boundary) /* decode quoted-printable MIME part */ -static int mime_decode_qp(FILE* in, FILE* out, uschar* boundary) +static ssize_t +mime_decode_qp(FILE* in, FILE* out, uschar* boundary) { uschar ibuf[MIME_MAX_LINE_LENGTH], obuf[MIME_MAX_LINE_LENGTH]; uschar *ipos, *opos; - size_t len, size = 0; + ssize_t len, size = 0; while (fgets(CS ibuf, MIME_MAX_LINE_LENGTH, in) != NULL) { @@ -271,8 +274,8 @@ int mime_decode(uschar **listptr) { uschar decode_path[1024]; FILE *decode_file = NULL; long f_pos = 0; - unsigned int size_counter = 0; - int (*decode_function)(FILE*, FILE*, uschar*); + ssize_t size_counter = 0; + ssize_t (*decode_function)(FILE*, FILE*, uschar*); if (mime_stream == NULL) return FAIL;