check('Python = "\u1e54\xfd\u0163\u0125\xf2\xf1" +', 1, 20)
check(b'# -*- coding: cp1251 -*-\nPython = "\xcf\xb3\xf2\xee\xed" +',
2, 19, encoding='cp1251')
- check(b'Python = "\xcf\xb3\xf2\xee\xed" +', 1, 18)
+ check(b'Python = "\xcf\xb3\xf2\xee\xed" +', 1, 13)
check('x = "a', 1, 5)
check('lambda x: x = 2', 1, 1)
check('f{a + b + c}', 1, 2)
{
6
0="""''', 5, 13)
+ check('b"fooжжж"'.encode(), 1, 1, 1, 10)
# Errors thrown by symtable.c
check('x = [(yield i) for i in range(3)]', 1, 7)
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;