summaryrefslogtreecommitdiff
path: root/apt-pkg/contrib/hashes.cc
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg/contrib/hashes.cc')
-rw-r--r--apt-pkg/contrib/hashes.cc43
1 files changed, 43 insertions, 0 deletions
diff --git a/apt-pkg/contrib/hashes.cc b/apt-pkg/contrib/hashes.cc
new file mode 100644
index 000000000..af741b672
--- /dev/null
+++ b/apt-pkg/contrib/hashes.cc
@@ -0,0 +1,43 @@
+// -*- 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,sizeof(Buf)));
+ if (Res < 0 || (unsigned)Res != MIN(Size,sizeof(Buf)))
+ return false;
+ Size -= Res;
+ MD5.Add(Buf,Res);
+ SHA1.Add(Buf,Res);
+ }
+ return true;
+}
+ /*}}}*/
+