1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Implementation of the byte-level differential compression used internally by
8 #include "courgette/simple_delta.h"
10 #include "base/basictypes.h"
11 #include "base/logging.h"
13 #include "courgette/third_party/bsdiff.h"
19 Status
BSDiffStatusToStatus(BSDiffStatus status
) {
22 case CRC_ERROR
: return C_BINARY_DIFF_CRC_ERROR
;
23 default: return C_GENERAL_ERROR
;
29 Status
ApplySimpleDelta(SourceStream
* old
, SourceStream
* delta
,
31 return BSDiffStatusToStatus(ApplyBinaryPatch(old
, delta
, target
));
34 Status
GenerateSimpleDelta(SourceStream
* old
, SourceStream
* target
,
36 VLOG(1) << "GenerateSimpleDelta " << old
->Remaining()
37 << " " << target
->Remaining();
38 return BSDiffStatusToStatus(CreateBinaryPatch(old
, target
, delta
));
41 } // namespace courgette