|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T a
Length: 1512 (0x5e8) Types: TextFile Names: »ap_t2s.c«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z« └─⟦e5a54fb17⟧ └─⟦this⟧ »pp-5.0/Lib/addr/ap_t2s.c«
/* ap_t2s.c: Address tree to String */ # ifndef lint static char Rcsid[] = "@(#)$Header: /cs/research/pp/hubris/pp-beta/Lib/addr/RCS/ap_t2s.c,v 5.0 90/09/20 16:04:16 pp Exp Locker: pp $"; # endif /* * $Header: /cs/research/pp/hubris/pp-beta/Lib/addr/RCS/ap_t2s.c,v 5.0 90/09/20 16:04:16 pp Exp Locker: pp $ * * $Log: ap_t2s.c,v $ * Revision 5.0 90/09/20 16:04:16 pp * rcsforce : 5.0 public release * */ /* Format one address from parse tree, into a string Returns: pointer to next node, after address 0 if end of tree NOTOK if error */ #include "util.h" #include "ap.h" /* --------------------- Begin Routines -------------------------------- */ AP_ptr ap_t2s (thetree, str_pptr) AP_ptr thetree; /* -- the parse tree -- */ char **str_pptr; /* -- where to stuff the string -- */ { AP_ptr loc_ptr, /* -- in case fake personal name needed -- */ group_ptr, name_ptr, dom_ptr, route_ptr, return_tree; return_tree = ap_t2p (thetree, &group_ptr, &name_ptr, &loc_ptr, &dom_ptr, &route_ptr); if (return_tree == BADAP) { PP_LOG (LLOG_EXCEPTIONS, ("Lib/addr/ap_t2s: error from ap_t2p()")); *str_pptr = strdup ("(PP Error!)"); return (BADAP); } *str_pptr = ap_p2s (group_ptr, name_ptr, loc_ptr, dom_ptr, route_ptr); if (*str_pptr == (char *)NOTOK) { PP_LOG (LLOG_EXCEPTIONS, ("Lib/addr/ap_t2s: error from ap_p2s()")); *str_pptr = strdup ("(PP Error!)"); return (BADAP); } return (return_tree); }