| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "xfa/fgas/crt/fgas_stream.h" | 7 #include "xfa/fgas/crt/fgas_stream.h" |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 413 return FALSE; | 413 return FALSE; |
| 414 | 414 |
| 415 if (dwAccess & FX_STREAMACCESS_Truncate) | 415 if (dwAccess & FX_STREAMACCESS_Truncate) |
| 416 FX_fsetsize(m_hFile, 0); | 416 FX_fsetsize(m_hFile, 0); |
| 417 } | 417 } |
| 418 } else { | 418 } else { |
| 419 return FALSE; | 419 return FALSE; |
| 420 } | 420 } |
| 421 } | 421 } |
| 422 #else | 422 #else |
| 423 CFX_ByteString wsMode; | 423 const FX_CHAR* wsMode = "rb"; |
| 424 if (dwAccess & FX_STREAMACCESS_Write) { | 424 if (dwAccess & FX_STREAMACCESS_Write) { |
| 425 if (dwAccess & FX_STREAMACCESS_Append) { | 425 if (dwAccess & FX_STREAMACCESS_Append) { |
| 426 wsMode = "a+b"; | 426 wsMode = "a+b"; |
| 427 } else if (dwAccess & FX_STREAMACCESS_Truncate) { | 427 } else if (dwAccess & FX_STREAMACCESS_Truncate) { |
| 428 wsMode = "w+b"; | 428 wsMode = "w+b"; |
| 429 } else { | 429 } else { |
| 430 wsMode = "r+b"; | 430 wsMode = "r+b"; |
| 431 } | 431 } |
| 432 } else { | |
| 433 wsMode = "rb"; | |
| 434 } | 432 } |
| 435 CFX_ByteString szFileName = CFX_ByteString::FromUnicode(pszSrcFileName); | 433 CFX_ByteString szFileName = CFX_ByteString::FromUnicode(pszSrcFileName); |
| 436 m_hFile = FXSYS_fopen(szFileName, wsMode); | 434 m_hFile = FXSYS_fopen(szFileName.c_str(), wsMode); |
| 437 if (m_hFile == NULL) { | 435 if (m_hFile == NULL) { |
| 438 if (dwAccess & FX_STREAMACCESS_Write) { | 436 if (dwAccess & FX_STREAMACCESS_Write) { |
| 439 if (dwAccess & FX_STREAMACCESS_Create) { | 437 if (dwAccess & FX_STREAMACCESS_Create) { |
| 440 m_hFile = FXSYS_fopen(szFileName, "w+b"); | 438 m_hFile = FXSYS_fopen(szFileName.c_str(), "w+b"); |
| 441 } | 439 } |
| 442 if (m_hFile == NULL) { | 440 if (m_hFile == NULL) { |
| 443 m_hFile = FXSYS_fopen(szFileName, "r+b"); | 441 m_hFile = FXSYS_fopen(szFileName.c_str(), "r+b"); |
| 444 if (m_hFile == NULL) { | 442 if (m_hFile == NULL) { |
| 445 return FALSE; | 443 return FALSE; |
| 446 } | 444 } |
| 447 if (dwAccess & FX_STREAMACCESS_Truncate) { | 445 if (dwAccess & FX_STREAMACCESS_Truncate) { |
| 448 FX_fsetsize(m_hFile, 0); | 446 FX_fsetsize(m_hFile, 0); |
| 449 } | 447 } |
| 450 } | 448 } |
| 451 } else { | 449 } else { |
| 452 return FALSE; | 450 return FALSE; |
| 453 } | 451 } |
| (...skipping 1165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1619 return m_pStream->WriteData((const uint8_t*)pData, (int32_t)size) == | 1617 return m_pStream->WriteData((const uint8_t*)pData, (int32_t)size) == |
| 1620 (int32_t)size; | 1618 (int32_t)size; |
| 1621 } | 1619 } |
| 1622 FX_BOOL CFGAS_FileWrite::WriteBlock(const void* pData, | 1620 FX_BOOL CFGAS_FileWrite::WriteBlock(const void* pData, |
| 1623 FX_FILESIZE offset, | 1621 FX_FILESIZE offset, |
| 1624 size_t size) { | 1622 size_t size) { |
| 1625 m_pStream->Seek(FX_STREAMSEEK_Begin, offset); | 1623 m_pStream->Seek(FX_STREAMSEEK_Begin, offset); |
| 1626 int32_t iLen = m_pStream->WriteData((uint8_t*)pData, (int32_t)size); | 1624 int32_t iLen = m_pStream->WriteData((uint8_t*)pData, (int32_t)size); |
| 1627 return iLen == (int32_t)size; | 1625 return iLen == (int32_t)size; |
| 1628 } | 1626 } |
| OLD | NEW |