* Apply patch from Anthony Towns to allow SHA1Summation to process a file
descriptor until EOF, rather than requiring that the length of input be
specified (Closes: #291338)
{
unsigned char Buf[64 * 64];
int Res = 0;
- while (Size != 0)
+ int ToEOF = (Size == 0);
+ while (Size != 0 || ToEOF);
{
- Res = read(Fd,Buf,MIN(Size,sizeof(Buf)));
- if (Res < 0 || (unsigned) Res != MIN(Size,sizeof(Buf)))
+ int n = sizeof(Buf);
+ if (!ToEOF) n = MIN(Size,n);
+ Res = read(Fd,Buf,n);
+ if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read
return false;
+ if (ToEOF && Res == 0) // EOF
+ break;
Size -= Res;
Add(Buf,Res);
}
apt (0.6.31) hoary; urgency=low
* Remove debugging output from apt.cron.daily (no one noticed?)
+ * Apply patch from Anthony Towns to allow SHA1Summation to process a file
+ descriptor until EOF, rather than requiring that the length of input be
+ specified (Closes: #291338)
--