diff options
| author | Vaugham Hong <vaughamhong@gmail.com> | 2015-12-31 22:56:50 -0800 |
|---|---|---|
| committer | Vaugham Hong <vaughamhong@gmail.com> | 2015-12-31 22:56:50 -0800 |
| commit | 15e197c807f9befac31f5841d320e5bd0210e8d4 (patch) | |
| tree | bb1436dc1d747c9394e57365f76e5df56fcc3f77 /Lib/javascript | |
| parent | c851e672bd213a5e4e51c30c8bb29743b7c37d1e (diff) | |
| download | swig-15e197c807f9befac31f5841d320e5bd0210e8d4.tar.gz | |
fixed build error - ISO C90 forbids mixed declarations and code for jsc
Diffstat (limited to 'Lib/javascript')
| -rw-r--r-- | Lib/javascript/jsc/javascriptinit.swg | 49 |
1 files changed, 34 insertions, 15 deletions
diff --git a/Lib/javascript/jsc/javascriptinit.swg b/Lib/javascript/jsc/javascriptinit.swg index 6e04cbb32..8df5488b0 100644 --- a/Lib/javascript/jsc/javascriptinit.swg +++ b/Lib/javascript/jsc/javascriptinit.swg @@ -1,15 +1,26 @@ %insert(init) %{ SWIGRUNTIME void SWIG_JSC_SetModule(void *clientdata, swig_module_info *swig_module) { - JSGlobalContextRef context = (JSGlobalContextRef)clientdata; + JSGlobalContextRef context; + JSObjectRef globalObject; + JSStringRef moduleName; + JSClassDefinition classDef; + JSClassRef classRef; + JSObjectRef object; + + if(clientdata == 0){ + return; + } + + context = (JSGlobalContextRef)clientdata; - JSObjectRef globalObject = JSContextGetGlobalObject(context); - JSStringRef moduleName = JSStringCreateWithUTF8CString("swig_module_info_data"); + globalObject = JSContextGetGlobalObject(context); + moduleName = JSStringCreateWithUTF8CString("swig_module_info_data"); - JSClassDefinition classDef = kJSClassDefinitionEmpty; - JSClassRef classRef = JSClassCreate(&classDef); + classDef = kJSClassDefinitionEmpty; + classRef = JSClassCreate(&classDef); - JSObjectRef object = JSObjectMake(context, classRef, NULL); + object = JSObjectMake(context, classRef, NULL); JSObjectSetPrivate(object, (void*)swig_module); JSObjectSetProperty(context, globalObject, moduleName, object, kJSPropertyAttributeNone, NULL); @@ -19,23 +30,31 @@ SWIG_JSC_SetModule(void *clientdata, swig_module_info *swig_module) { } SWIGRUNTIME swig_module_info * SWIG_JSC_GetModule(void *clientdata) { - JSGlobalContextRef context = (JSGlobalContextRef)clientdata; + JSGlobalContextRef context; + JSObjectRef globalObject; + JSStringRef moduleName; + JSValueRef value; + JSObjectRef object; + + if(clientdata == 0){ + return 0; + } - JSObjectRef globalObject = JSContextGetGlobalObject(context); - JSStringRef moduleName = JSStringCreateWithUTF8CString("swig_module_info_data"); + context = (JSGlobalContextRef)clientdata; + + globalObject = JSContextGetGlobalObject(context); + moduleName = JSStringCreateWithUTF8CString("swig_module_info_data"); if(JSObjectHasProperty(context, globalObject, moduleName) == false) { JSStringRelease(moduleName); return 0; } - JSValueRef value = JSObjectGetProperty(context, globalObject, moduleName, NULL); - - JSObjectRef object = JSValueToObject(context, value, NULL); - swig_module_info *swig_module = (swig_module_info*)JSObjectGetPrivate(object); - + value = JSObjectGetProperty(context, globalObject, moduleName, NULL); + object = JSValueToObject(context, value, NULL); JSStringRelease(moduleName); - return swig_module; + + return (swig_module_info*)JSObjectGetPrivate(object); } #define SWIG_GetModule(clientdata) SWIG_JSC_GetModule(clientdata) |
