summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Ippolito <bob@redivi.com>2013-01-01 14:46:47 -0800
committerBob Ippolito <bob@redivi.com>2013-01-01 14:46:47 -0800
commit1aa8819498321dbfc601ff8a304d0c8a901f76da (patch)
tree927e3a8bd27dccae46ceb6fd60aea8174027b3c2
parented84084a51367a4731f80794b062f54365ac9c59 (diff)
parent473ab650df3943c3681f709d6aff499242efdfc6 (diff)
downloadsimplejson-1aa8819498321dbfc601ff8a304d0c8a901f76da.tar.gz
Merge pull request #46 from cgohlke/patch-1
Fixes for Visual C compilers
-rw-r--r--simplejson/_speedups.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/simplejson/_speedups.c b/simplejson/_speedups.c
index c20243b..fdc4062 100644
--- a/simplejson/_speedups.c
+++ b/simplejson/_speedups.c
@@ -698,6 +698,7 @@ encoder_dict_iteritems(PyEncoderObject *s, PyObject *dct)
// item can be added as-is
}
else {
+ PyObject *tpl;
kstr = encoder_stringify_key(s, key);
if (kstr == NULL)
goto bail;
@@ -709,7 +710,7 @@ encoder_dict_iteritems(PyEncoderObject *s, PyObject *dct)
value = PyTuple_GET_ITEM(item, 1);
if (value == NULL)
goto bail;
- PyObject *tpl = PyTuple_Pack(2, kstr, value);
+ tpl = PyTuple_Pack(2, kstr, value);
if (tpl == NULL)
goto bail;
Py_CLEAR(kstr);
@@ -867,6 +868,7 @@ scanstring_str(PyObject *pystr, Py_ssize_t end, char *encoding, int strict, Py_s
char *buf = PyString_AS_STRING(pystr);
PyObject *chunks = NULL;
PyObject *chunk = NULL;
+ PyObject *strchunk = NULL;
if (len == end) {
raise_errmsg("Unterminated string starting at", pystr, begin);
@@ -910,7 +912,7 @@ scanstring_str(PyObject *pystr, Py_ssize_t end, char *encoding, int strict, Py_s
goto bail;
}
#else /* PY_MAJOR_VERSION >= 3 */
- PyObject *strchunk = PyString_FromStringAndSize(&buf[end], next - end);
+ strchunk = PyString_FromStringAndSize(&buf[end], next - end);
if (strchunk == NULL) {
goto bail;
}
@@ -2745,9 +2747,10 @@ encoder_listencode_obj(PyEncoderObject *s, JSON_Accu *rval, PyObject *obj, Py_ss
rv = _steal_accumulate(rval, encoded);
}
else if (s->namedtuple_as_object && _is_namedtuple(obj)) {
+ PyObject *newobj;
if (Py_EnterRecursiveCall(" while encoding a JSON object"))
return rv;
- PyObject *newobj = PyObject_CallMethod(obj, "_asdict", NULL);
+ newobj = PyObject_CallMethod(obj, "_asdict", NULL);
if (newobj != NULL) {
rv = encoder_listencode_dict(s, rval, newobj, indent_level);
Py_DECREF(newobj);