Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d031c89

Browse files
committed
Marshal the line number table of code objects.
1 parent da4eb5c commit d031c89

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

Python/marshal.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,8 @@ w_object(v, p)
252252
w_object(co->co_varnames, p);
253253
w_object(co->co_filename, p);
254254
w_object(co->co_name, p);
255+
w_short(co->co_firstlineno, p);
256+
w_object(co->co_lnotab, p);
255257
}
256258
else {
257259
w_byte(TYPE_UNKNOWN, p);
@@ -520,19 +522,25 @@ r_object(p)
520522
object *varnames = NULL;
521523
object *filename = NULL;
522524
object *name = NULL;
525+
int firstlineno;
526+
object *lnotab = NULL;
523527

524528
code = r_object(p);
525529
if (code) consts = r_object(p);
526530
if (consts) names = r_object(p);
527531
if (names) varnames = r_object(p);
528532
if (varnames) filename = r_object(p);
529533
if (filename) name = r_object(p);
534+
if (name) {
535+
firstlineno = r_short(p);
536+
lnotab = r_object(p);
537+
}
530538

531539
if (!err_occurred()) {
532540
v = (object *) newcodeobject(
533541
argcount, nlocals, stacksize, flags,
534542
code, consts, names, varnames,
535-
filename, name);
543+
filename, name, firstlineno, lnotab);
536544
}
537545
else
538546
v = NULL;

0 commit comments

Comments
 (0)