mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
gh-115823: Calculate correctly error locations when dealing with implicit encodings (#115824)
This commit is contained in:
parent
b7383b8b71
commit
015b97d19a
3 changed files with 13 additions and 11 deletions
|
@ -369,20 +369,18 @@ _PyPegen_raise_error_known_location(Parser *p, PyObject *errtype,
|
|||
Py_ssize_t col_number = col_offset;
|
||||
Py_ssize_t end_col_number = end_col_offset;
|
||||
|
||||
if (p->tok->encoding != NULL) {
|
||||
col_number = _PyPegen_byte_offset_to_character_offset(error_line, col_offset);
|
||||
if (col_number < 0) {
|
||||
col_number = _PyPegen_byte_offset_to_character_offset(error_line, col_offset);
|
||||
if (col_number < 0) {
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (end_col_offset > 0) {
|
||||
end_col_number = _PyPegen_byte_offset_to_character_offset(error_line, end_col_offset);
|
||||
if (end_col_number < 0) {
|
||||
goto error;
|
||||
}
|
||||
if (end_col_number > 0) {
|
||||
Py_ssize_t end_col_offset = _PyPegen_byte_offset_to_character_offset(error_line, end_col_number);
|
||||
if (end_col_offset < 0) {
|
||||
goto error;
|
||||
} else {
|
||||
end_col_number = end_col_offset;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tmp = Py_BuildValue("(OnnNnn)", p->tok->filename, lineno, col_number, error_line, end_lineno, end_col_number);
|
||||
if (!tmp) {
|
||||
goto error;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue