X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=unmime.c;h=f799ff92f51b5a22836a9135c43f9b4df8878bfb;hb=91644ff0b2e6eb3b26c5544a4a769ca4aaf08a14;hp=8ff782a55686bd1ed7a872a89d887221a516b870;hpb=05cb2b9c62b323a1278c81b6cbe00b2e4186b4f4;p=~andy%2Ffetchmail diff --git a/unmime.c b/unmime.c index 8ff782a5..f799ff92 100644 --- a/unmime.c +++ b/unmime.c @@ -292,7 +292,7 @@ static char *GetBoundary(char *CntType) do { p2 = strchr(p1, ';'); if (p2) - for (p2++; isspace((unsigned char)*p2); p2++); + for (p2++; isspace((unsigned char)*p2); p2++) { } p1 = p2; } while ((p1) && (strncasecmp(p1, "boundary", 8) != 0)); @@ -418,7 +418,7 @@ int MimeBodyType(char *hdrs, int WantDecode) */ /* Skip the "Content-Type:" part and whitespace after it */ - for (NxtHdr += 13; ((*NxtHdr == ' ') || (*NxtHdr == '\t')); NxtHdr++); + for (NxtHdr += 13; ((*NxtHdr == ' ') || (*NxtHdr == '\t')); NxtHdr++) { } /* * Get the full value of the Content-Type header; @@ -657,7 +657,7 @@ int outlevel = 0; #define BUFSIZE_INCREMENT 4096 #ifdef DEBUG -#define DBG_FWRITE(B,L,BS,FD) fwrite(B, L, BS, FD) +#define DBG_FWRITE(B,L,BS,FD) do { if (fwrite((B), (L), (BS), (FD))) { } } while(0) #else #define DBG_FWRITE(B,L,BS,FD) #endif @@ -720,8 +720,11 @@ int main(int argc, char *argv[]) bodytype = MimeBodyType(buffer, 1); i = strlen(buffer); - fwrite(buffer, i, 1, stdout); DBG_FWRITE(buffer, i, 1, fd_conv); + if (fwrite(buffer, i, 1, stdout) < 1) { + perror("fwrite"); + goto barf; + } do { buf_p = (buffer - 1); @@ -738,13 +741,17 @@ int main(int argc, char *argv[]) buf_p = buffer; UnMimeBodyline(&buf_p, 0, 0); } - fwrite(buffer, (buf_p - buffer), 1, stdout); DBG_FWRITE(buffer, (buf_p - buffer), 1, fd_conv); + if (fwrite(buffer, (buf_p - buffer), 1, stdout) < 1) { + perror("fwrite"); + goto barf; + } } } while (buf_p > buffer); +barf: free(buffer); - fflush(stdout); + if (EOF == fflush(stdout)) perror("fflush"); #ifdef DEBUG fclose(fd_orig); @@ -754,4 +761,3 @@ int main(int argc, char *argv[]) return 0; } #endif -