From b11b69c9de58c210bda50ace513884375b7793ad Mon Sep 17 00:00:00 2001 From: Michael Hansen Date: Fri, 24 Jul 2009 23:21:56 +0000 Subject: [PATCH] Another fix for old Python versions --- pycdas.cpp | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/pycdas.cpp b/pycdas.cpp index 4585800..3d77c9b 100644 --- a/pycdas.cpp +++ b/pycdas.cpp @@ -33,25 +33,35 @@ void output_object(PycRef obj, PycModule* mod, int indent) iprintf(indent + 1, "Stack Size: %d\n", codeObj->stackSize()); iprintf(indent + 1, "Flags: 0x%08X\n", codeObj->flags()); - iprintf(indent + 1, "[Names]\n"); - for (int i=0; inames()->size(); i++) - output_object(codeObj->names()->get(i), mod, indent + 2); + if (codeObj->names() != Pyc_NULL) { + iprintf(indent + 1, "[Names]\n"); + for (int i=0; inames()->size(); i++) + output_object(codeObj->names()->get(i), mod, indent + 2); + } - iprintf(indent + 1, "[Var Names]\n"); - for (int i=0; ivarNames()->size(); i++) - output_object(codeObj->varNames()->get(i), mod, indent + 2); + if (codeObj->varNames() != Pyc_NULL) { + iprintf(indent + 1, "[Var Names]\n"); + for (int i=0; ivarNames()->size(); i++) + output_object(codeObj->varNames()->get(i), mod, indent + 2); + } - iprintf(indent + 1, "[Free Vars]\n"); - for (int i=0; ifreeVars()->size(); i++) - output_object(codeObj->freeVars()->get(i), mod, indent + 2); + if (codeObj->freeVars() != Pyc_NULL) { + iprintf(indent + 1, "[Free Vars]\n"); + for (int i=0; ifreeVars()->size(); i++) + output_object(codeObj->freeVars()->get(i), mod, indent + 2); + } - iprintf(indent + 1, "[Cell Vars]\n"); - for (int i=0; icellVars()->size(); i++) - output_object(codeObj->cellVars()->get(i), mod, indent + 2); + if (codeObj->cellVars() != Pyc_NULL) { + iprintf(indent + 1, "[Cell Vars]\n"); + for (int i=0; icellVars()->size(); i++) + output_object(codeObj->cellVars()->get(i), mod, indent + 2); + } - iprintf(indent + 1, "[Constants]\n"); - for (int i=0; iconsts()->size(); i++) - output_object(codeObj->consts()->get(i), mod, indent + 2); + if (codeObj->consts() != Pyc_NULL) { + iprintf(indent + 1, "[Constants]\n"); + for (int i=0; iconsts()->size(); i++) + output_object(codeObj->consts()->get(i), mod, indent + 2); + } iprintf(indent + 1, "[Disassembly]\n"); bc_disasm(codeObj, mod, indent + 2);