int tpossPrintDb(TPoss tp) { int rc = tpossPrint(dbOut, tp); fnewline(dbOut); return rc; }
int obPrint(FILE *fout, Pointer ob) { if (!ob) return fprintf(fout, "OB_0"); switch (obCode(ob)) { case OB_Bogus: bug("Bad object."); case OB_BTree: return btreePrint(fout, (BTree) ob); case OB_BInt: return bintPrint(fout, (BInt) ob); case OB_Bitv: return bitvPrint(fout, (BitvClass) NULL, (Bitv) ob); case OB_String: return strPrint(fout, (String) ob, '"', '"', '\\', "\\%#x"); case OB_Buffer: return bufPrint(fout, (Buffer) ob); case OB_List: return listPrint(Pointer)(fout, (PointerList) ob, obPrint); case OB_Table: return tblPrint(fout, (Table) ob, (TblPrKeyFun) obPrint, (TblPrEltFun) obPrint); case OB_Symbol: return symPrint(fout, (Symbol) ob); case OB_SExpr: return sxiWrite(fout, (SExpr) ob, SXRW_Default); case OB_CCode: return ccoPrint(fout, (CCode) ob, CCOM_StandardC); case OB_JCode: return fprintf(fout, "java"); case OB_SrcLine: return slinePrint(fout, (SrcLine) ob); case OB_Token: return tokPrint(fout, (Token) ob); case OB_Doc: return docPrint(fout, (Doc) ob); case OB_AbSyn: return abPrint(fout, (AbSyn) ob); case OB_Syme: return symePrint(fout, (Syme) ob); case OB_TForm: return tfPrint(fout, (TForm) ob); case OB_TPoss: return tpossPrint(fout, (TPoss) ob); case OB_TConst: return tcPrint(fout, (TConst) ob); case OB_TQual: return tqPrint(fout, (TQual) ob); case OB_Foam: return foamPrint(fout, (Foam) ob); case OB_Lib: case OB_Archive: default: return fprintf(fout, "%p->OB_%d", ob, obCode(ob)); } }