|
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 u
Length: 928 (0x3a0) Types: TextFile Names: »ut_fn.c«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z« └─⟦e5a54fb17⟧ └─⟦this⟧ »pp-5.0/Lib/pp/ut_fn.c«
/* ut_fn.c: FullName support routines */ # ifndef lint static char Rcsid[] = "@(#)$Header: /cs/research/pp/hubris/pp-beta/Lib/pp/RCS/ut_fn.c,v 5.0 90/09/20 16:12:43 pp Exp Locker: pp $"; # endif /* * $Header: /cs/research/pp/hubris/pp-beta/Lib/pp/RCS/ut_fn.c,v 5.0 90/09/20 16:12:43 pp Exp Locker: pp $ * * $Log: ut_fn.c,v $ * Revision 5.0 90/09/20 16:12:43 pp * rcsforce : 5.0 public release * */ #include "util.h" #include "mta.h" FullName *fn_new (addr, dn) char *addr; char *dn; { FullName *fn; fn = (FullName *) smalloc (sizeof *fn); fn -> fn_addr = addr ? strdup (addr) : NULLCP; fn -> fn_dn = dn ? strdup (dn) : NULLCP; return fn; } void fn_free (fn) FullName *fn; { if (fn == NULL) return; if (fn -> fn_addr) free (fn -> fn_addr); if (fn -> fn_dn) free (fn -> fn_dn); free ((char *)fn); } FullName *fn_dup (fn) FullName *fn; { return fn_new (fn -> fn_addr, fn -> fn_dn); }