|
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 p
Length: 3019 (0xbcb) Types: TextFile Names: »p_stdin.c«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z« └─⟦e5a54fb17⟧ └─⟦this⟧ »pp-5.0/Tools/probe/p_stdin.c«
/* p_stdin.c: Gets values for the probe via stdin */ # ifndef lint static char Rcsid[] = "@(#)$Header: /cs/research/pp/hubris/pp-beta/Tools/probe/RCS/p_stdin.c,v 5.0 90/09/20 16:30:19 pp Exp Locker: pp $"; # endif /* * $Header: /cs/research/pp/hubris/pp-beta/Tools/probe/RCS/p_stdin.c,v 5.0 90/09/20 16:30:19 pp Exp Locker: pp $ * * $Log: p_stdin.c,v $ * Revision 5.0 90/09/20 16:30:19 pp * rcsforce : 5.0 public release * */ #include "util.h" #include "q.h" #include "tb_q.h" #include <isode/cmd_srch.h> #define GetStr(buf) (gets (buf) != NULL && isstr(buf)) /* --- externals --- */ extern CMD_TABLE qtbl_que[]; extern Q_struct *QuePtr; extern ADDR *make_adr_new(); /* --- static routines --- */ static void prompt_encoded(); /* --------------------- Begin Routines -------------------------------- */ void prompt_probe_stdin() { char buf[BUFSIZ]; int found; ADDR *ap; /* --- Print a message --- */ printf ("\n\n"); printf ( "******************************************************************************"); printf ("\n\n"); printf ("This is a probe generation utility. Please note that the Recipient address \n"); printf ("field is recursive, and that each address should be input, a line at a time\n\n"); printf ( "******************************************************************************"); printf ("\n\n"); /* --- Originator --- */ printf ("From: "); printf ("%s\n", QuePtr -> Oaddress -> ad_value); /* --- Recipients --- */ printf ("To: "); for (found = FALSE; GetStr(buf);) { ap = make_adr_new (buf, AD_RECIPIENT); adr_add (&QuePtr -> Raddress, ap); printf (" "); found = TRUE; } if (found == FALSE) { printf ("*** Error: No Recipients specified ***\n"); exit (1); } /* --- Content Length --- */ printf ("%s: ", rcmd_srch(Q_MSGSIZE, qtbl_que)); GetStr(buf); QuePtr -> msgsize = atoi(buf); /* --- EncodedInformationTypes --- */ (void) prompt_encoded(); /* --- UA id --- */ printf ("%s: ", rcmd_srch(Q_UA_ID, qtbl_que)); GetStr(buf); if (isstr(buf)) QuePtr -> ua_id = strdup (buf); /* --- Per Message Flag --- */ QuePtr -> implicit_conversion = prompt_yn (rcmd_srch (Q_IMPLICIT_CONVERSION, qtbl_que)); QuePtr -> alternate_recip_allowed = prompt_yn (rcmd_srch (Q_ALTERNATE_RECIP_ALLOWED, qtbl_que)); printf ("\n"); } /* --------------------- Static Routines -------------------------------- */ static int prompt_yn (name) char *name; { char buf[BUFSIZ]; int retval; if (name == NULLCP) { printf ("*** Error: Internal error no key specified ***\n"); exit (1); } printf ("%s (y/n): ", name); if (gets(buf) == NULL) exit (1); retval = set_yn(buf); return retval; } static void prompt_encoded() { char buf[BUFSIZ]; int retval; for (;;) { printf ("%s: ", rcmd_srch(Q_ENCODED_INFO, qtbl_que)); if (gets(buf) == NULL) exit (1); retval = set_encoded (buf); if (retval == NOTOK) continue; return; } }