| 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 "PublicMethods.h" | 7 #include "PublicMethods.h" |
| 8 | 8 |
| 9 #include "../../include/fsdk_mgr.h" // For CPDFDoc_Environment. | 9 #include "../../include/fsdk_mgr.h" // For CPDFDoc_Environment. |
| 10 #include "../../include/javascript/IJavaScript.h" | 10 #include "../../include/javascript/IJavaScript.h" |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 359 } | 359 } |
| 360 CFX_WideString wsStr = val.ToCFXWideString(); | 360 CFX_WideString wsStr = val.ToCFXWideString(); |
| 361 CFX_ByteString t = CFX_ByteString::FromUnicode(wsStr); | 361 CFX_ByteString t = CFX_ByteString::FromUnicode(wsStr); |
| 362 const char* p = (const char*)t; | 362 const char* p = (const char*)t; |
| 363 | 363 |
| 364 int ch = ','; | 364 int ch = ','; |
| 365 int nIndex = 0; | 365 int nIndex = 0; |
| 366 | 366 |
| 367 while (*p) { | 367 while (*p) { |
| 368 const char* pTemp = strchr(p, ch); | 368 const char* pTemp = strchr(p, ch); |
| 369 if (pTemp == NULL) { | 369 if (!pTemp) { |
| 370 StrArray.SetElement(nIndex, CJS_Value(pRuntime, StrTrim(p).c_str())); | 370 StrArray.SetElement(nIndex, CJS_Value(pRuntime, StrTrim(p).c_str())); |
| 371 break; | 371 break; |
| 372 } else { | 372 } |
| 373 char* pSub = new char[pTemp - p + 1]; | |
| 374 strncpy(pSub, p, pTemp - p); | |
| 375 *(pSub + (pTemp - p)) = '\0'; | |
| 376 | 373 |
| 377 StrArray.SetElement(nIndex, CJS_Value(pRuntime, StrTrim(pSub).c_str())); | 374 char* pSub = new char[pTemp - p + 1]; |
| 378 delete[] pSub; | 375 strncpy(pSub, p, pTemp - p); |
| 376 *(pSub + (pTemp - p)) = '\0'; |
| 379 | 377 |
| 380 nIndex++; | 378 StrArray.SetElement(nIndex, CJS_Value(pRuntime, StrTrim(pSub).c_str())); |
| 381 p = ++pTemp; | 379 delete[] pSub; |
| 382 } | 380 |
| 381 nIndex++; |
| 382 p = ++pTemp; |
| 383 } | 383 } |
| 384 return StrArray; | 384 return StrArray; |
| 385 } | 385 } |
| 386 | 386 |
| 387 int CJS_PublicMethods::ParseStringInteger(const CFX_WideString& string, | 387 int CJS_PublicMethods::ParseStringInteger(const CFX_WideString& string, |
| 388 int nStart, | 388 int nStart, |
| 389 int& nSkip, | 389 int& nSkip, |
| 390 int nMaxStep) { | 390 int nMaxStep) { |
| 391 int nRet = 0; | 391 int nRet = 0; |
| 392 nSkip = 0; | 392 nSkip = 0; |
| (...skipping 1404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1797 ASSERT(pContext != NULL); | 1797 ASSERT(pContext != NULL); |
| 1798 CJS_EventHandler* pEventHandler = pContext->GetEventHandler(); | 1798 CJS_EventHandler* pEventHandler = pContext->GetEventHandler(); |
| 1799 ASSERT(pEventHandler != NULL); | 1799 ASSERT(pEventHandler != NULL); |
| 1800 | 1800 |
| 1801 if (params.size() != 1) { | 1801 if (params.size() != 1) { |
| 1802 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 1802 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 1803 return FALSE; | 1803 return FALSE; |
| 1804 } | 1804 } |
| 1805 | 1805 |
| 1806 CFX_WideString swValue; | 1806 CFX_WideString swValue; |
| 1807 if (pEventHandler->m_pValue != NULL) | 1807 if (pEventHandler->m_pValue) |
| 1808 swValue = pEventHandler->Value(); | 1808 swValue = pEventHandler->Value(); |
| 1809 | 1809 |
| 1810 if (pEventHandler->WillCommit()) { | 1810 if (pEventHandler->WillCommit()) { |
| 1811 vRet = swValue.c_str(); | 1811 vRet = swValue.c_str(); |
| 1812 return TRUE; | 1812 return TRUE; |
| 1813 } | 1813 } |
| 1814 | 1814 |
| 1815 CFX_WideString prefix, postfix; | 1815 CFX_WideString prefix, postfix; |
| 1816 | 1816 |
| 1817 if (pEventHandler->SelStart() >= 0) | 1817 if (pEventHandler->SelStart() >= 0) |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2077 nums.SetElement(nIndex, CJS_Value(pRuntime, sPart.c_str())); | 2077 nums.SetElement(nIndex, CJS_Value(pRuntime, sPart.c_str())); |
| 2078 } | 2078 } |
| 2079 | 2079 |
| 2080 if (nums.GetLength() > 0) | 2080 if (nums.GetLength() > 0) |
| 2081 vRet = nums; | 2081 vRet = nums; |
| 2082 else | 2082 else |
| 2083 vRet.SetNull(); | 2083 vRet.SetNull(); |
| 2084 | 2084 |
| 2085 return TRUE; | 2085 return TRUE; |
| 2086 } | 2086 } |
| OLD | NEW |