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