|
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: 2032 (0x7f0) Types: TextFile Names: »or_or2rfc.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_or2rfc.c«
/* or_or2rfc.c: convert from or address to rfc address */ # ifndef lint static char Rcsid[] = "@(#)$Header: /cs/research/pp/hubris/pp-beta/Lib/or/RCS/or_or2rfc.c,v 5.0 90/09/20 16:08:25 pp Exp Locker: pp $"; # endif /* * $Header: /cs/research/pp/hubris/pp-beta/Lib/or/RCS/or_or2rfc.c,v 5.0 90/09/20 16:08:25 pp Exp Locker: pp $ * * $Log: or_or2rfc.c,v $ * Revision 5.0 90/09/20 16:08:25 pp * rcsforce : 5.0 public release * */ #include "or.h" #include "util.h" #include "ap.h" extern char *loc_dom_site; /* --------------------- Begin Routines -------------------------------- */ /* Maps OR struct into a RFC822 string */ int or_or2rfc_aux (or, buf, addr_check) OR_ptr or; char *buf; int addr_check; { AP_ptr local, domain; OR_ptr current_ptr; char lbuf[LINESIZE], dbuf[LINESIZE], *cp; PP_DBG (("Lib/or_or2rfc()" )); or = or_default (or); current_ptr = or; if ((current_ptr = or_find (current_ptr, OR_DD, NULLCP)) && (current_ptr -> or_next == NULLOR)) { /* --- single DD attributes --- */ if (or_ddname_chk (current_ptr -> or_ddname)) { /* --- Special DD type --- */ or_ps2asc (current_ptr -> or_value, buf); PP_DBG (("Lib/or_or2rfc: Matched dd, '%s' = '%s'", current_ptr -> or_ddname, buf)); return OK; } } if (or_or2rbits (or, lbuf, dbuf) == NOTOK) return NOTOK; /* --- if NUL domain - explicit encoding --- */ if (dbuf[0] == '\0') { (void) strcpy (buf, lbuf); PP_DBG (("Lib/or_or2rfc Returns '%s'", buf)); return OK; } PP_TRACE (("Lib/or_or2rfc lbuf='%s' dbuf='%s'", lbuf, dbuf)); if (lexequ (dbuf, loc_dom_site) == 0) if (addr_check) return DONE; local = ap_new (AP_MAILBOX, lbuf); domain = ap_new (AP_DOMAIN, dbuf); cp = ap_p2s (NULLAP, NULLAP, local, domain, NULLAP); (void) strcpy (buf, cp); free (cp); ap_free (local); ap_free (domain); PP_TRACE (("Lib/or_or2rfc returns '%s'", buf)); return OK; }