|
|
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: 2170 (0x87a)
Types: TextFile
Names: »p_ut.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_ut.c«
/* p_ut.c: Common Utilities for probe */
# ifndef lint
static char Rcsid[] = "@(#)$Header: /cs/research/pp/hubris/pp-beta/Tools/probe/RCS/p_ut.c,v 5.0 90/09/20 16:30:23 pp Exp Locker: pp $";
# endif
/*
* $Header: /cs/research/pp/hubris/pp-beta/Tools/probe/RCS/p_ut.c,v 5.0 90/09/20 16:30:23 pp Exp Locker: pp $
*
* $Log: p_ut.c,v $
* Revision 5.0 90/09/20 16:30:23 pp
* rcsforce : 5.0 public release
*
*/
#include "util.h"
#include "q.h"
#include "tb_bpt84.h"
#include "tb_p1.h"
#include "retcode.h"
#include <isode/cmd_srch.h>
#include <pwd.h>
/* --- externals --- */
extern CMD_TABLE bptbl_body_parts84[];
extern CMD_TABLE p1tbl_encinfoset[];
extern Q_struct *QuePtr;
/* -- local routines -- */
ADDR *make_adr_new();
int set_encoded();
int set_yn();
void set_from();
/* --------------------- Begin Routines -------------------------------- */
int set_encoded (values)
char *values;
{
int argc;
char *argv[10];
int retval;
argv[0] = "=";
argv[1] = rcmd_srch (EI_BIT_STRING, p1tbl_encinfoset);
if (!isstr (values))
argv[2] = rcmd_srch(BPT_IA5, bptbl_body_parts84);
else
argv[2] = values;
retval = txt2encodedinfo (&QuePtr->encodedinfo, argv, 3);
return retval;
}
int set_yn (value)
char *value;
{
if (!isstr (value))
return NO;
if (lexequ (value, "y") == 0)
return YES;
if (lexequ (value, "yes") == 0)
return YES;
return NO;
}
void set_from()
{
RP_Buf rp;
struct passwd *pwd,
*getpwuid();
if ((pwd = getpwuid(getuid())) == NULL) {
printf("Cannot get your passwd entry\n");
exit(0);
}
QuePtr -> Oaddress = make_adr_new (pwd->pw_name, AD_ORIGINATOR);
}
ADDR *make_adr_new (value, flag)
char *value;
int flag;
{
static int recipno = 0;
int type = 0;
ADDR *ap = NULLADDR;
if (index (value, '@'))
type = AD_822_TYPE;
else if (value[0] == '/')
type = AD_X400_TYPE;
else
type = AD_822_TYPE;
switch (flag) {
case AD_ORIGINATOR:
ap = adr_new (value, type, 0);
break;
case AD_RECIPIENT:
ap = adr_new (value, type, ++recipno);
break;
default:
printf ("make_adr_new/Unknown type '%d'\n", flag);
exit (1);
}
return (ap);
}