Skip to content

Commit b5ccd94

Browse files
committed
Use IA to clean code
1 parent 90da796 commit b5ccd94

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

Python/Python-tokenize.c

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -118,38 +118,45 @@ _tokenizer_error(struct tok_state *tok)
118118
msg = "unknown tokenization error";
119119
}
120120

121-
// TODO: Clean up this code and factor out common error paths
122-
123121
PyObject* errstr = NULL;
124122
PyObject* error_line = NULL;
123+
PyObject* tmp = NULL;
124+
PyObject* value = NULL;
125+
int result = 0;
125126

126127
Py_ssize_t size = tok->inp - tok->buf;
127128
error_line = PyUnicode_DecodeUTF8(tok->buf, size, "replace");
128129
if (!error_line) {
129-
goto error;
130+
result = -1;
131+
goto exit;
130132
}
131-
PyObject *tmp = Py_BuildValue("(OnnOii)", tok->filename, tok->lineno, 0, error_line, 0, 0);
133+
134+
tmp = Py_BuildValue("(OnnOii)", tok->filename, tok->lineno, 0, error_line, 0, 0);
132135
if (!tmp) {
133-
goto error;
136+
result = -1;
137+
goto exit;
134138
}
135-
Py_CLEAR(error_line);
139+
136140
errstr = PyUnicode_FromString(msg);
137141
if (!errstr) {
138-
goto error;
142+
result = -1;
143+
goto exit;
139144
}
140-
PyObject* value = PyTuple_Pack(2, errstr, tmp);
141-
Py_DECREF(errstr);
142-
Py_DECREF(tmp);
145+
146+
value = PyTuple_Pack(2, errstr, tmp);
143147
if (!value) {
144-
goto error;
148+
result = -1;
149+
goto exit;
145150
}
151+
146152
PyErr_SetObject(errtype, value);
147-
Py_DECREF(value);
148-
return 0;
149-
error:
153+
154+
exit:
150155
Py_XDECREF(errstr);
151156
Py_XDECREF(error_line);
152-
return -1;
157+
Py_XDECREF(tmp);
158+
Py_XDECREF(value);
159+
return result;
153160
}
154161

155162
static PyObject *

0 commit comments

Comments
 (0)