Skip to content

Commit

Permalink
Use a different define to decide which CRC library to use.
Browse files Browse the repository at this point in the history
Change 8569018 used a #ifdef to conditionally decide which external
library to use for Crc calculation. It used OS_CHROMIUMOS to tell
if the build was targetted at Chromium OS.

However, it broke Chromium OS builds of the full Chromium tree in
some cases (heapcheck bots), and was reverted.

Since I really only want to change the library when building from
inside a custom ebuild in the Chromium OS build, it makes sense
to use a #define custom to that ebuild.

So, this change is the same as 8569018, except that is uses
COURGETTE_USE_CRC_LIB instead of OS_CHROMIUMOS.

BUG=8569018


Review URL: http://codereview.chromium.org/8763014

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112565 0039d316-1c4b-4281-b951-d872f2087c98
  • Loading branch information
dgarrett@chromium.org committed Dec 1, 2011
1 parent 05c5901 commit f73cf98
Showing 1 changed file with 19 additions and 7 deletions.
26 changes: 19 additions & 7 deletions courgette/crc.cc
Original file line number Diff line number Diff line change
@@ -1,22 +1,34 @@
// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Calculate Crc by calling CRC method in LZMA SDK

#include "courgette/crc.h"

#ifdef COURGETTE_USE_CRC_LIB
# include "zlib.h"
#else
extern "C" {
#include "third_party/lzma_sdk/7zCrc.h"
# include "third_party/lzma_sdk/7zCrc.h"
}
#endif

#include "base/basictypes.h"

namespace courgette {

uint32 CalculateCrc(const uint8* buffer, size_t size) {
uint32 crc;

#ifdef COURGETTE_USE_CRC_LIB
// Calculate Crc by calling CRC method in zlib
crc = crc32(0, buffer, size);
#else
// Calculate Crc by calling CRC method in LZMA SDK
CrcGenerateTable();
uint32 crc = 0xffffffffL;
crc = ~CrcCalc(buffer, size);
return crc;
crc = CrcCalc(buffer, size);
#endif

return ~crc;
}

} // namespace

0 comments on commit f73cf98

Please sign in to comment.