aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/pdf/SkPDFTypes.cpp
diff options
context:
space:
mode:
authorGravatar Hal Canary <halcanary@google.com>2017-06-17 10:38:13 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-06-19 15:56:33 +0000
commitd6e6e6699a85c6ed79e7d3b01e30d19e361ae049 (patch)
tree629683240e1596e0adfdc9d659f2687fe8a62cab /src/pdf/SkPDFTypes.cpp
parent6d28730b2b13876601dec60caf49ba89e29c6fad (diff)
factor out hexadecimal constants.
Now we don't have to rely on the linker to de-duplicate so many gHex[] constants. Change-Id: Ia86d3a92648415afdb8d29499b4faded5ed05c7d Reviewed-on: https://skia-review.googlesource.com/20180 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
Diffstat (limited to 'src/pdf/SkPDFTypes.cpp')
-rw-r--r--src/pdf/SkPDFTypes.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/pdf/SkPDFTypes.cpp b/src/pdf/SkPDFTypes.cpp
index 2559f93106..b9e9060cac 100644
--- a/src/pdf/SkPDFTypes.cpp
+++ b/src/pdf/SkPDFTypes.cpp
@@ -100,12 +100,12 @@ bool is_valid_name(const char* n) {
// leading slash).
static void write_name_escaped(SkWStream* o, const char* name) {
static const char kToEscape[] = "#/%()<>[]{}";
- static const char kHex[] = "0123456789ABCDEF";
for (const uint8_t* n = reinterpret_cast<const uint8_t*>(name); *n; ++n) {
- if (*n < '!' || *n > '~' || strchr(kToEscape, *n)) {
- char buffer[3] = {'#', '\0', '\0'};
- buffer[1] = kHex[(*n >> 4) & 0xF];
- buffer[2] = kHex[*n & 0xF];
+ uint8_t v = *n;
+ if (v < '!' || v > '~' || strchr(kToEscape, v)) {
+ char buffer[3] = {'#',
+ SkHexadecimalDigits::gUpper[v >> 4],
+ SkHexadecimalDigits::gUpper[v & 0xF]};
o->write(buffer, sizeof(buffer));
} else {
o->write(n, 1);