OPTBUF
for (buflen = explen; buflen < OPTBUF; pos += buflen, buflen += buflen)
if (explen < OPTBUF && buflen > OPTBUF)
buflen = OPTBUF;