Commits

Anonymous committed 824a3f0

More update awesome.

Comments (0)

Files changed (2)

spidermonkey/javascript/object.cpp

 PyObject*
 mk_args_tpl(Context* pycx, JSContext* jscx, uintN argc, jsval* argv)
 {
-    PyObject* tpl = NULL;
-    PyObject* tmp = NULL;
-    
-    tpl = PyTuple_New(argc);
-    if(tpl == NULL)
+    PyObjectXDR tpl = PyTuple_New(argc);
+    if(!tpl)
     {
         JS_ReportError(jscx, "Failed to build args value.");
-        goto error;
+        return NULL;
     }
     
     for(unsigned int idx = 0; idx < argc; idx++)
     {
-        tmp = js2py(pycx, argv[idx]);
-        if(tmp == NULL) goto error;
-        PyTuple_SET_ITEM(tpl, idx, tmp);
+        PyObject* tmp = js2py(pycx, argv[idx]);
+        if(!tmp) return NULL;
+        PyTuple_SET_ITEM(tpl.get(), idx, tmp);
     }
 
-    goto success;
-
-error:
-    Py_XDECREF(tpl);
-success:
-    return tpl;
+    return tpl.release();
 }

spidermonkey/utils/utils.h

             this->data = p;
         }
         
-        void release()
+        T* release()
         {
+            T* p = this->data;
             this->data = NULL;
+            return p;
         }
 
     protected:
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.