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; |
} |