| Index: rlz/lib/string_utils.cc
|
| diff --git a/rlz/lib/string_utils.cc b/rlz/lib/string_utils.cc
|
| deleted file mode 100644
|
| index 50206a8e550916652bb1da34991814c56c7aa63f..0000000000000000000000000000000000000000
|
| --- a/rlz/lib/string_utils.cc
|
| +++ /dev/null
|
| @@ -1,92 +0,0 @@
|
| -// Copyright (c) 2012 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.
|
| -//
|
| -// String manipulation functions used in the RLZ library.
|
| -
|
| -#include "rlz/lib/string_utils.h"
|
| -
|
| -#include "rlz/lib/assert.h"
|
| -
|
| -namespace rlz_lib {
|
| -
|
| -bool IsAscii(char letter) {
|
| - return (letter >= 0x0 && letter < 0x80);
|
| -}
|
| -
|
| -bool GetHexValue(char letter, int* value) {
|
| - if (!value) {
|
| - ASSERT_STRING("GetHexValue: Invalid output paramter");
|
| - return false;
|
| - }
|
| - *value = 0;
|
| -
|
| - if (letter >= '0' && letter <= '9')
|
| - *value = letter - '0';
|
| - else if (letter >= 'a' && letter <= 'f')
|
| - *value = (letter - 'a') + 0xA;
|
| - else if (letter >= 'A' && letter <= 'F')
|
| - *value = (letter - 'A') + 0xA;
|
| - else
|
| - return false;
|
| -
|
| - return true;
|
| -}
|
| -
|
| -int HexStringToInteger(const char* text) {
|
| - if (!text) {
|
| - ASSERT_STRING("HexStringToInteger: text is NULL.");
|
| - return 0;
|
| - }
|
| -
|
| - int idx = 0;
|
| - // Ignore leading whitespace.
|
| - while (text[idx] == '\t' || text[idx] == ' ')
|
| - idx++;
|
| -
|
| - if ((text[idx] == '0') &&
|
| - (text[idx + 1] == 'X' || text[idx + 1] == 'x'))
|
| - idx +=2; // String is of the form 0x...
|
| -
|
| - int number = 0;
|
| - int digit = 0;
|
| - for (; text[idx] != '\0'; idx++) {
|
| - if (!GetHexValue(text[idx], &digit)) {
|
| - // Ignore trailing whitespaces, but assert on other trailing characters.
|
| - bool only_whitespaces = true;
|
| - while (only_whitespaces && text[idx])
|
| - only_whitespaces = (text[idx++] == ' ');
|
| - if (!only_whitespaces)
|
| - ASSERT_STRING("HexStringToInteger: text contains non-hex characters.");
|
| - return number;
|
| - }
|
| - number = (number << 4) | digit;
|
| - }
|
| -
|
| - return number;
|
| -}
|
| -
|
| -bool BytesToString(const unsigned char* data,
|
| - int data_len,
|
| - std::string* string) {
|
| - if (!string)
|
| - return false;
|
| -
|
| - string->clear();
|
| - if (data_len < 1 || !data)
|
| - return false;
|
| -
|
| - static const char kHex[] = "0123456789ABCDEF";
|
| -
|
| - // Fix the buffer size to begin with to avoid repeated re-allocation.
|
| - string->resize(data_len * 2);
|
| - int index = data_len;
|
| - while (index--) {
|
| - string->at(2 * index) = kHex[data[index] >> 4]; // high digit
|
| - string->at(2 * index + 1) = kHex[data[index] & 0x0F]; // low digit
|
| - }
|
| -
|
| - return true;
|
| -}
|
| -
|
| -} // namespace rlz_lib
|
|
|