firstline = 20;
ravail = avail;
while (avail) {
- if (memcmp(b, "begin ", 6) == 0 && avail > 11)
+ len = bid_get_line(filter, &b, &avail, &ravail, &nl);
+ if (len < 0 || nl == 0)
+ return (0);/* Binary data. */
+ if (memcmp(b, "begin ", 6) == 0 && len >= 11)
l = 6;
- else if (memcmp(b, "begin-base64 ", 13) == 0 && avail > 18)
+ else if (memcmp(b, "begin-base64 ", 13) == 0 && len >= 18)
l = 13;
else
l = 0;
b[l+2] < '0' || b[l+2] > '7' || b[l+3] != ' '))
l = 0;
- len = bid_get_line(filter, &b, &avail, &ravail, &nl);
- if (len < 0 || nl == 0)
- return (0);/* Binary data. */
b += len;
avail -= len;
if (l)