1 # include	"../hdr/defines.h"
2 
3 SCCSID(@(#)pf_ab.c	1.2	04/13/81);
4 
5 pf_ab(s,pp,all)
6 char *s;
7 register struct pfile *pp;
8 int all;
9 {
10 	register char *p;
11 	register int i;
12 	extern char *Datep;
13 	char *xp;
14 
15 	xp = p = alloca(size(s));
16 	copy(s,p);
17 	for (; *p; p++)
18 		if (*p == '\n') {
19 			*p = 0;
20 			break;
21 		}
22 	p = xp;
23 	p = sid_ab(p,&pp->pf_gsid);
24 	++p;
25 	p = sid_ab(p,&pp->pf_nsid);
26 	++p;
27 	i = index(p," ");
28 	pp->pf_user[0] = 0;
29 	if (((unsigned)i) < SZLNAM) {
30 		move(p,pp->pf_user,i);
31 		pp->pf_user[i] = 0;
32 	}
33 	else
34 		fatal("bad p-file format (co17)");
35 	p = p + i + 1;
36 	date_ab(p,&pp->pf_date);
37 	p = Datep;
38 	pp->pf_ilist = 0;
39 	pp->pf_elist = 0;
40 	if (!all || !*p)
41 		return;
42 	p =+ 2;
43 	xp = alloc(size(p));
44 	copy(p,xp);
45 	p = xp;
46 	if (*p == 'i') {
47 		pp->pf_ilist = ++p;
48 		for (; *p; p++)
49 			if (*p == ' ') {
50 				*p++ = 0;
51 				p++;
52 				break;
53 			}
54 	}
55 	if (*p == 'x')
56 		pp->pf_elist = ++p;
57 }
58