|
|
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);
}