X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=store.cc;h=9634e7b5bb7588191a182bd29d75e098f9932d92;hb=64bff41cb3ccdd60e767a5bb9ed8525d2dda1966;hp=aa69d9e8a4a7e3f4af329138027d0a78ce180623;hpb=974240b635af9cf2b94e2f1f3c02beab662a189d;p=cumulus.git diff --git a/store.cc b/store.cc index aa69d9e..9634e7b 100644 --- a/store.cc +++ b/store.cc @@ -1,7 +1,6 @@ -/* Cumulus: Smart Filesystem Backup to Dumb Servers - * - * Copyright (C) 2008 The Regents of the University of California - * Written by Michael Vrable +/* Cumulus: Efficient Filesystem Backup to the Cloud + * Copyright (C) 2008-2009 The Cumulus Developers + * See the AUTHORS file for a list of contributors. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -41,6 +40,7 @@ #include #include +#include "hash.h" #include "store.h" #include "ref.h" #include "util.h" @@ -172,7 +172,7 @@ void Tarfile::write_object(int id, const char *data, size_t len) sprintf(header.mode, "%07o", 0600); sprintf(header.uid, "%07o", 0); sprintf(header.gid, "%07o", 0); - sprintf(header.size, "%011o", len); + sprintf(header.size, "%011o", (int)len); sprintf(header.mtime, "%011o", (int)time(NULL)); header.typeflag = '0'; strcpy(header.magic, "ustar "); @@ -281,7 +281,7 @@ void TarSegmentStore::dump_stats() for (map >::iterator i = group_sizes.begin(); i != group_sizes.end(); ++i) { printf(" %s: %lld (%lld compressed)\n", i->first.c_str(), - i->second.first, i->second.second); + (long long)i->second.first, (long long)i->second.second); } } @@ -338,7 +338,8 @@ void LbsObject::checksum() { assert(written); - SHA1Checksum hash; - hash.process(data, data_len); - ref.set_checksum(hash.checksum_str()); + Hash *hash = Hash::New(); + hash->update(data, data_len); + ref.set_checksum(hash->digest_str()); + delete hash; }