Kill off some more unreachable fopen's.
[pdfium.git] / core / src / fxcrt / fx_basic_bstring.cpp
index 435f5a5..5c8a2fa 100644 (file)
@@ -1,11 +1,11 @@
 // Copyright 2014 PDFium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
+
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
 #include "../../include/fxcrt/fx_basic.h"
-#include "../../../third_party/numerics/safe_math.h"
+#include "../../../third_party/base/numerics/safe_math.h"
 
 static int _Buffer_itoa(char* buf, int i, FX_DWORD flags)
 {
@@ -52,7 +52,7 @@ static CFX_StringData* FX_AllocString(int nLen)
     if (nLen == 0 || nLen < 0) {
         return NULL;
     }
-    base::CheckedNumeric<int> nSize = nLen;
+    pdfium::base::CheckedNumeric<int> nSize = nLen;
     nSize += sizeof(long) * 3 + 1;
     CFX_StringData* pData = (CFX_StringData*)FX_Alloc(FX_BYTE, nSize.ValueOrDie());
     if (!pData) {
@@ -936,22 +936,6 @@ void CFX_ByteString::SetAt(FX_STRSIZE nIndex, FX_CHAR ch)
     CopyBeforeWrite();
     m_pData->m_String[nIndex] = ch;
 }
-CFX_ByteString CFX_ByteString::LoadFromFile(FX_BSTR filename)
-{
-    FXSYS_FILE* file = FXSYS_fopen(CFX_ByteString(filename), "rb");
-    if (file == NULL) {
-        return CFX_ByteString();
-    }
-    FXSYS_fseek(file, 0, FXSYS_SEEK_END);
-    int len = FXSYS_ftell(file);
-    FXSYS_fseek(file, 0, FXSYS_SEEK_SET);
-    CFX_ByteString str;
-    FX_LPSTR buf = str.GetBuffer(len);
-    size_t readCnt = FXSYS_fread(buf, 1, len, file);
-    str.ReleaseBuffer(len);
-    FXSYS_fclose(file);
-    return str;
-}
 CFX_WideString CFX_ByteString::UTF8Decode() const
 {
     CFX_UTF8Decoder decoder;
@@ -971,7 +955,7 @@ CFX_ByteString CFX_ByteString::FromUnicode(FX_LPCWSTR str, FX_STRSIZE len)
 }
 CFX_ByteString CFX_ByteString::FromUnicode(const CFX_WideString& str)
 {
-    return FromUnicode((FX_LPCWSTR)str, str.GetLength());
+    return FromUnicode(str.c_str(), str.GetLength());
 }
 void CFX_ByteString::ConvertFrom(const CFX_WideString& str, CFX_CharMap* pCharMap)
 {
@@ -1082,7 +1066,7 @@ FX_DWORD CFX_ByteStringC::GetID(FX_STRSIZE start_pos) const
     if (m_Length == 0) {
         return 0;
     }
-    if (start_pos >= m_Length) {
+    if (start_pos < 0 || start_pos >= m_Length) {
         return 0;
     }
     FX_DWORD strid = 0;
@@ -1176,35 +1160,3 @@ void CFX_StringBufBase::Append(int i, FX_DWORD flags)
     int len = _Buffer_itoa(buf, i, flags);
     Append(CFX_ByteStringC(buf, len));
 }
-void CFX_ByteStringL::Empty(IFX_Allocator* pAllocator)
-{
-    if (m_Ptr) {
-        FX_Allocator_Free(pAllocator, (FX_LPVOID)m_Ptr);
-    }
-    m_Ptr = NULL, m_Length = 0;
-}
-FX_LPSTR CFX_ByteStringL::AllocBuffer(FX_STRSIZE length, IFX_Allocator* pAllocator)
-{
-    Empty(pAllocator);
-    FX_LPSTR str = FX_Allocator_Alloc(pAllocator, FX_CHAR, length + 1);
-    if (!str) {
-        return NULL;
-    }
-    *(FX_LPSTR*)(&m_Ptr) = str;
-    m_Length = length;
-    return str;
-}
-void CFX_ByteStringL::Set(FX_BSTR src, IFX_Allocator* pAllocator)
-{
-    Empty(pAllocator);
-    if (src.GetCStr() != NULL && src.GetLength() > 0) {
-        FX_LPSTR str = FX_Allocator_Alloc(pAllocator, FX_CHAR, src.GetLength() + 1);
-        if (!str) {
-            return;
-        }
-        FXSYS_memcpy32(str, src, src.GetLength());
-        str[src.GetLength()] = '\0';
-        *(FX_LPSTR*)(&m_Ptr) = str;
-        m_Length = src.GetLength();
-    }
-}