Chromium Code Reviews| Index: fpdfsdk/src/javascript/global.cpp |
| diff --git a/fpdfsdk/src/javascript/global.cpp b/fpdfsdk/src/javascript/global.cpp |
| index 6eea290f6859fc1c4aeb5c1b2c064bfb3eecbcfd..61771ef473488ebfc3f0eda8b8612de1efd0b4c8 100644 |
| --- a/fpdfsdk/src/javascript/global.cpp |
| +++ b/fpdfsdk/src/javascript/global.cpp |
| @@ -193,58 +193,46 @@ FX_BOOL global_alternate::DoProperty(IFXJS_Context* cc, const FX_WCHAR* propname |
| } |
| else |
| { |
| - js_global_data* pData = NULL; |
| - CFX_ByteString sPropName = CFX_ByteString::FromUnicode(propname); |
| - |
| - if (m_mapGlobal.Lookup(sPropName, (void*&)pData)) |
|
Tom Sepez
2015/07/20 23:59:58
note: fix illegal cast while were at it.
|
| - { |
| - if (pData) |
| - { |
| - if (!pData->bDeleted) |
| - { |
| - switch (pData->nType) |
| - { |
| - case JS_GLOBALDATA_TYPE_NUMBER: |
| - vp << pData->dData; |
| - break; |
| - case JS_GLOBALDATA_TYPE_BOOLEAN: |
| - vp << pData->bData; |
| - break; |
| - case JS_GLOBALDATA_TYPE_STRING: |
| - vp << pData->sData; |
| - break; |
| - case JS_GLOBALDATA_TYPE_OBJECT: |
| - { |
| - v8::Local<v8::Object> obj = v8::Local<v8::Object>::New(vp.GetIsolate(),pData->pData); |
| - vp << obj; |
| - break; |
| - } |
| - case JS_GLOBALDATA_TYPE_NULL: |
| - vp.SetNull(); |
| - break; |
| - default: |
| - return FALSE; |
| - } |
| - return TRUE; |
| - } |
| - else |
| - { |
| - return TRUE; |
| - } |
| - } |
| - else |
| - { |
| - vp.SetNull(); |
| - return TRUE; |
| - } |
| - } |
| - else |
| + void* pVoid = nullptr; |
| + if (!m_mapGlobal.Lookup(CFX_ByteString::FromUnicode(propname), pVoid)) |
| { |
| vp.SetNull(); |
| return TRUE; |
| } |
| + if (!pVoid) |
| + { |
| + vp.SetNull(); |
| + return TRUE; |
| + } |
| + js_global_data* pData = (js_global_data*)pVoid; |
| + if (pData->bDeleted) |
| + return TRUE; |
| + |
| + switch (pData->nType) |
| + { |
| + case JS_GLOBALDATA_TYPE_NUMBER: |
| + vp << pData->dData; |
| + break; |
| + case JS_GLOBALDATA_TYPE_BOOLEAN: |
| + vp << pData->bData; |
| + break; |
| + case JS_GLOBALDATA_TYPE_STRING: |
| + vp << pData->sData; |
| + break; |
| + case JS_GLOBALDATA_TYPE_OBJECT: |
| + { |
| + v8::Local<v8::Object> obj = v8::Local<v8::Object>::New(vp.GetIsolate(),pData->pData); |
| + vp << obj; |
| + break; |
| + } |
| + case JS_GLOBALDATA_TYPE_NULL: |
| + vp.SetNull(); |
| + break; |
| + default: |
| + return FALSE; |
| + } |
| + return TRUE; |
|
Lei Zhang
2015/07/21 23:43:23
This can't be reached because of the "default" 3 l
Tom Sepez
2015/07/22 20:38:24
Killed defaults, breaks => returns to match if-bod
|
| } |
| - |
| return FALSE; |
| } |