blob: 9b22a90d3321d24144c2c73761a6e2520471218e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
// $Id: hashes.cc,v 1.1 2001/03/06 07:15:29 jgg Exp $
/* ######################################################################
Hashes - Simple wrapper around the hash functions
This is just used to make building the methods simpler, this is the
only interface required..
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
#ifdef __GNUG__
#pragma implementation "apt-pkg/hashes.h"
#endif
#include <apt-pkg/hashes.h>
#include <unistd.h>
#include <system.h>
/*}}}*/
// Hashes::AddFD - Add the contents of the FD /*{{{*/
// ---------------------------------------------------------------------
/* */
bool Hashes::AddFD(int Fd,unsigned long Size)
{
unsigned char Buf[64*64];
int Res = 0;
while (Size != 0)
{
Res = read(Fd,Buf,min(Size,(unsigned long)sizeof(Buf)));
if (Res < 0 || (unsigned)Res != min(Size,(unsigned long)sizeof(Buf)))
return false;
Size -= Res;
MD5.Add(Buf,Res);
SHA1.Add(Buf,Res);
SHA256.Add(Buf,Res);
}
return true;
}
/*}}}*/
|