| OLD | NEW |
| 1 #include "Python.h" | 1 #include "Python.h" |
| 2 #include "code.h" | 2 #include "code.h" |
| 3 #include "structmember.h" | 3 #include "structmember.h" |
| 4 | 4 |
| 5 #define NAME_CHARS \ | 5 #define NAME_CHARS \ |
| 6 "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz" | 6 "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz" |
| 7 | 7 |
| 8 /* all_name_chars(s): true iff all chars in s are valid NAME_CHARS */ | 8 /* all_name_chars(s): true iff all chars in s are valid NAME_CHARS */ |
| 9 | 9 |
| 10 static int | 10 static int |
| (...skipping 611 matching lines...) | | Loading... |
| 622 the line increments here, treating them as byte | 622 the line increments here, treating them as byte |
| 623 increments gets confusing, to say the least. */ | 623 increments gets confusing, to say the least. */ |
| 624 | 624 |
| 625 bounds->ap_lower = 0; | 625 bounds->ap_lower = 0; |
| 626 while (size > 0) { | 626 while (size > 0) { |
| 627 if (addr + *p > lasti) | 627 if (addr + *p > lasti) |
| 628 break; | 628 break; |
| 629 addr += *p++; | 629 addr += *p++; |
| 630 if (*p)· | 630 if (*p)· |
| 631 bounds->ap_lower = addr; | 631 bounds->ap_lower = addr; |
| 632 line += *p++; | 632 line += (signed char) *p++; |
| 633 --size; | 633 --size; |
| 634 } | 634 } |
| 635 | 635 |
| 636 /* If lasti and addr don't match exactly, we don't want to | 636 /* If lasti and addr don't match exactly, we don't want to |
| 637 change the lineno slot on the frame or execute a trace | 637 change the lineno slot on the frame or execute a trace |
| 638 function. Return -1 instead. | 638 function. Return -1 instead. |
| 639 */ | 639 */ |
| 640 if (addr != lasti) | 640 if (addr != lasti) |
| 641 line = -1; | 641 line = -1; |
| 642 ········ | 642 ········ |
| 643 if (size > 0) { | 643 if (size > 0) { |
| 644 while (--size >= 0) { | 644 while (--size >= 0) { |
| 645 addr += *p++; | 645 addr += *p++; |
| 646 if (*p++) | 646 if (*p++) |
| 647 break; | 647 break; |
| 648 } | 648 } |
| 649 bounds->ap_upper = addr; | 649 bounds->ap_upper = addr; |
| 650 } | 650 } |
| 651 else { | 651 else { |
| 652 bounds->ap_upper = INT_MAX; | 652 bounds->ap_upper = INT_MAX; |
| 653 } | 653 } |
| 654 | 654 |
| 655 return line; | 655 return line; |
| 656 } | 656 } |
| OLD | NEW |