|
|
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 o
Length: 1347 (0x543)
Types: TextFile
Names: »or_or2dmn.c«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z«
└─⟦e5a54fb17⟧
└─⟦this⟧ »pp-5.0/Lib/or/or_or2dmn.c«
/* or_or2dmn: convert or list into domain form */
# ifndef lint
static char Rcsid[] = "@(#)$Header: /cs/research/pp/hubris/pp-beta/Lib/or/RCS/or_or2dmn.c,v 5.0 90/09/20 16:08:19 pp Exp Locker: pp $";
# endif
/*
* $Header: /cs/research/pp/hubris/pp-beta/Lib/or/RCS/or_or2dmn.c,v 5.0 90/09/20 16:08:19 pp Exp Locker: pp $
*
* $Log: or_or2dmn.c,v $
* Revision 5.0 90/09/20 16:08:19 pp
* rcsforce : 5.0 public release
*
*/
#include "or.h"
#include "util.h"
void or_or2dmn (first, last, buf)
OR_ptr first;
OR_ptr last;
char *buf;
{
OR_ptr or;
PP_DBG (("or_util.c/or_or2dmn ()"));
/*
We print from BOTTOM of tree
*/
if (last == NULLOR)
or = or_lastpart (first);
else
or = last;
buf[0] = '\0';
for (; or != NULLOR; or = or -> or_prev ) {
PP_DBG (("or_util.c/or_or2dmn Comp type='%d' ddname='%s' val='%s'",
or -> or_type, or-> or_ddname, or -> or_value));
if (buf[0] != '\0')
(void) strcat (buf, ".");
if (or -> or_type == OR_DD) {
(void) strcat (buf, "~");
dstrcat (buf, or -> or_ddname );
(void) strcat (buf, "$");
dstrcat (buf, or -> or_value);
}
else {
(void) strcat (buf, or_type2name (or -> or_type));
(void) strcat (buf, "$" );
dstrcat (buf, or -> or_value);
}
}
PP_DBG (("or_util.c/or_or2dmn Returns: '%s'", buf));
}