void Ggroup::doDump() { EP; #ifdef DEBUG List *currentlp; // local currentlp subobject FILE* graphdump_fp; char tblpkey[HCG_ABBR_SIZE+1]; char* tblabbr = &tblpkey[0]; // for pr_dump_row char abbmem[HCG_ABBR_SIZE+1]; char* abb = &abbmem[1];; hcg_key obid = 0; graphobject *ob; int tblidx; int objcount = 0; // debug use // topobject is global ptr to root of List* subobjects graphdump_fp = fopen("graphDump.txt", "a"); //append, for pr_dump_row if (graphdump_fp == NULL) { dprint("doDump:Failed to open file graphDump.txt\n"); LP;return; } // dump objects now: TTPRNT; // print ttype encoding sequence PrintGraphObjectList(); // this is a Ggroup:: method? printf("\tdoDump: currentlp = topobject->subobjects = %px\n", currentlp); printf("\tdoDump: currenttlp->object->getcurr() = %px\n", (hcg_ptr)currentlp->object->getcurr()); printf("\tdoDump: currenttlp->object->getid() = %lux\n", (hcg_key)(currentlp->object->getid())); // print List objects via pr_dump_row: (hcg_key)(currentlp->object->getid())); // print List objects via pr_dump_row: fprintf(graphdump_fp, "\nAppending diagram to graphDump.txt\n"); //RJL 051126: fails - reports pkey FO00000* (* times) + garbled binary line - 051130 //Problem: 051201: A different msg appears - and I can't find it: //"Appending diagram at currentlp = 0x810c588. with HGid = FO000000 to graphDump.txt" while(currentlp) { hcg_ptr rp; DP; ob = (graphobject *) currentlp->object; assert(ob!= NULL); rp = (hcg_ptr)(ob->getcurr()); obid = (hcg_key)(ob->getid()); tblabbr = get_abbr( (hcg_key*) &obid, abb ); //- RJL051210 // = decode_retstr() or NULL assert (tblabbr!= NULL); dprints("doDump: tblabbr = %s; ", tblabbr); dprintd("objcount = %d\n",++objcount); // this is a hack to pass tblabbr as a symbol - RJL040630 const char* tbltypes = "FO GD HG HN HA HL HP HI CG GX"; tblidx = (int)( (strstr(tbltypes, tblabbr)-strstr(tbltypes, "FO") )/3) ; switch(tblidx) { case 0: FOcurr = (struct FO*)rp; pr_dump_row(FO, viewname, graphdump_fp, "graphDump.txt",0,"a"); break; case 1: GDcurr = (struct GD*)rp; pr_dump_row(GD, viewname, graphdump_fp, "graphDump.txt",0,"a"); break; case 2: HGcurr = (struct HG*)rp; pr_dump_row(HG, viewname, graphdump_fp, "graphDump.txt",0,"a"); break; case 3: HNcurr = (struct HN*)rp; pr_dump_row(HN, viewname, graphdump_fp, "graphDump.txt",0,"a"); break; case 5: HLcurr = (struct HL*)rp; pr_dump_row(HL, viewname, graphdump_fp, "graphDump.txt",0,"a"); break; case 8: CGcurr = (struct CG*)rp; pr_dump_row(CG, viewname, graphdump_fp, "graphDump.txt",0,"a"); break; default: dprintd("doDump default case: ignore tblidx = %d\n", tblidx); } // end switch(tblidx) currentlp = currentlp->next; } // exit while currentlp != NULL fclose(graphdump_fp); // Moved inside 'else' - RJL050831 #endif LP;return; } // end doDump