|
|
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: 1543 (0x607)
Types: TextFile
Names: »ap_s2p.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_s2p.c«
/* ap_s2p.c: convert string into major address parts */
# ifndef lint
static char Rcsid[] = "@(#)$Header: /cs/research/pp/hubris/pp-beta/Lib/addr/RCS/ap_s2p.c,v 5.0 90/09/20 16:04:02 pp Exp Locker: pp $";
# endif
/*
* $Header: /cs/research/pp/hubris/pp-beta/Lib/addr/RCS/ap_s2p.c,v 5.0 90/09/20 16:04:02 pp Exp Locker: pp $
*
* $Log: ap_s2p.c,v $
* Revision 5.0 90/09/20 16:04:02 pp
* rcsforce : 5.0 public release
*
*/
#include "util.h"
#include "ap_lex.h"
#include "ap.h"
static char *s2p_txt; /* -- hdr_in() passes to alst() -- */
/* --------------------- Static Routines ------------------------------- */
/* -- adrs extracted from component text -- */
static int s2p_in()
{
/* -- nothing to give it -- */
if (s2p_txt == NULLCP)
return (EOF);
switch (*s2p_txt) {
case '\0':
case '\n':
/* -- end of string, drop on through -- */
s2p_txt = NULLCP;
return (0);
}
return (*(s2p_txt++));
}
/* --------------------- Begin Routines -------------------------------- */
/* -- One of the main uses of this routine is to replace adrparse.c -- */
char *ap_s2p (str_ptr, tree, group, name, local, domain, route)
char *str_ptr;
AP_ptr *tree,
*group,
*name,
*local,
*domain,
*route;
{
s2p_txt = str_ptr;
*tree = ap_pinit (s2p_in);
switch (ap_1adr()) {
case DONE:
return ((char *) DONE);
case OK:
ap_t2p (*tree, group, name, local, domain, route);
/* -- so they can parse the next chunk -- */
return (s2p_txt);
}
return ((char *) NOTOK);
}