From 28f97ff783c16f3391384ce97b765ce4eb310ac7 Mon Sep 17 00:00:00 2001 From: tsepez Date: Mon, 4 Apr 2016 16:41:35 -0700 Subject: Make down-conversion explicit from CFX_ByteString to CFX_ByteStringC. Having this happen implicitly can be dangerous because the lifetime has to be considered; we should have caught the "red bots" in https://codereview.chromium.org/1847333004/#ps60001 at compile time. Review URL: https://codereview.chromium.org/1853233002 --- core/fpdfapi/fpdf_font/fpdf_font.cpp | 12 ++++++------ core/fpdfapi/fpdf_font/fpdf_font_cid.cpp | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'core/fpdfapi/fpdf_font') diff --git a/core/fpdfapi/fpdf_font/fpdf_font.cpp b/core/fpdfapi/fpdf_font/fpdf_font.cpp index ce2390ec08..aff2b72960 100644 --- a/core/fpdfapi/fpdf_font/fpdf_font.cpp +++ b/core/fpdfapi/fpdf_font/fpdf_font.cpp @@ -233,9 +233,9 @@ void CPDF_ToUnicodeMap::Load(CPDF_Stream* pStream) { break; } high = parser.GetWord(); - uint32_t lowcode = StringToCode(low); - uint32_t highcode = - (lowcode & 0xffffff00) | (StringToCode(high) & 0xff); + uint32_t lowcode = StringToCode(low.AsByteStringC()); + uint32_t highcode = (lowcode & 0xffffff00) | + (StringToCode(high.AsByteStringC()) & 0xff); if (highcode == (uint32_t)-1) { break; } @@ -243,7 +243,7 @@ void CPDF_ToUnicodeMap::Load(CPDF_Stream* pStream) { if (start == "[") { for (uint32_t code = lowcode; code <= highcode; code++) { CFX_ByteString dest = parser.GetWord(); - CFX_WideString destcode = StringToWideString(dest); + CFX_WideString destcode = StringToWideString(dest.AsByteStringC()); int len = destcode.GetLength(); if (len == 0) { continue; @@ -258,11 +258,11 @@ void CPDF_ToUnicodeMap::Load(CPDF_Stream* pStream) { } parser.GetWord(); } else { - CFX_WideString destcode = StringToWideString(start); + CFX_WideString destcode = StringToWideString(start.AsByteStringC()); int len = destcode.GetLength(); uint32_t value = 0; if (len == 1) { - value = StringToCode(start); + value = StringToCode(start.AsByteStringC()); for (uint32_t code = lowcode; code <= highcode; code++) { m_Map[code] = value++; } diff --git a/core/fpdfapi/fpdf_font/fpdf_font_cid.cpp b/core/fpdfapi/fpdf_font/fpdf_font_cid.cpp index 2552a3c0a6..fb3707f498 100644 --- a/core/fpdfapi/fpdf_font/fpdf_font_cid.cpp +++ b/core/fpdfapi/fpdf_font/fpdf_font_cid.cpp @@ -440,7 +440,7 @@ void CPDF_CMapParser::ParseWord(const CFX_ByteStringC& word) { } if (m_CodeSeq % 2) { CMap_CodeRange range; - if (CMap_GetCodeRange(range, m_LastWord, word)) { + if (CMap_GetCodeRange(range, m_LastWord.AsByteStringC(), word)) { m_CodeRanges.Add(range); } } -- cgit v1.2.3