Chromium Code Reviews| Index: xfa/fde/css/fde_csssyntax.cpp |
| diff --git a/xfa/fde/css/fde_csssyntax.cpp b/xfa/fde/css/fde_csssyntax.cpp |
| index 436a94b67ba9e74108e3307ba7aed5e742d1c548..62d5a0b5e9e31ac3754d1a0d1992bcde6f5afd07 100644 |
| --- a/xfa/fde/css/fde_csssyntax.cpp |
| +++ b/xfa/fde/css/fde_csssyntax.cpp |
| @@ -6,6 +6,8 @@ |
| #include "xfa/fde/css/fde_csssyntax.h" |
| +#include <algorithm> |
| + |
| #include "xfa/fde/css/fde_cssdatatable.h" |
| #include "xfa/fgas/crt/fgas_codepage.h" |
| @@ -280,16 +282,14 @@ FDE_CSSSYNTAXSTATUS CFDE_CSSSyntaxParser::DoSyntaxParse() { |
| if (wch <= ' ' || wch == ';') { |
| int32_t iURIStart, iURILength = m_TextData.GetLength(); |
| - if (iURILength > 0 && |
| - FDE_ParseCSSURI(m_TextData.GetBuffer(), iURILength, iURIStart, |
| - iURILength)) { |
| + if (iURILength > 0 && FDE_ParseCSSURI(m_TextData.GetBuffer(), |
| + &iURIStart, &iURILength)) { |
| m_TextData.Subtract(iURIStart, iURILength); |
| SwitchMode(FDE_CSSSYNTAXMODE_MediaType); |
| - if (IsImportEnabled()) { |
| + if (IsImportEnabled()) |
| return FDE_CSSSYNTAXSTATUS_URI; |
| - } else { |
| + else |
|
Tom Sepez
2016/11/28 19:24:40
nit: else after return not needed.
npm
2016/11/28 20:35:45
Done.
|
| break; |
| - } |
| } |
| } |
| AppendChar(wch); |
| @@ -468,15 +468,10 @@ bool CFDE_CSSTextBuf::ExpandBuf(int32_t iDesiredSize) { |
| m_iBufLen = iDesiredSize; |
| return true; |
| } |
| + |
| void CFDE_CSSTextBuf::Subtract(int32_t iStart, int32_t iLength) { |
| - ASSERT(iStart >= 0 && iLength > 0); |
| - if (iLength > m_iDatLen - iStart) { |
| - iLength = m_iDatLen - iStart; |
| - } |
| - if (iLength < 0) { |
| - iLength = 0; |
| - } else { |
| - FXSYS_memmove(m_pBuffer, m_pBuffer + iStart, iLength * sizeof(FX_WCHAR)); |
| - } |
| + ASSERT(iStart >= 0 && iLength >= 0); |
| + iLength = std::max(std::min(iLength, m_iDatLen - iStart), 0); |
| + FXSYS_memmove(m_pBuffer, m_pBuffer + iStart, iLength * sizeof(FX_WCHAR)); |
| m_iDatLen = iLength; |
| } |