char *months
[] {"Jan", "Feb", "Mar", "Apr", "May",
"Jun", "Jul", "Aug", "Sep","Oct", "Nov", "Dec",0};
int state
1000, i
, book
, volume
, corp
, report
;
if (line
[1]>'9' || line
[1]<'0') continue;
na
= getargs(line
+18, v
);
if (strcmp(v
[i
], "(Book)")==0)
na
=getargs(line
+18, vv
=v
);
if (na
>2 &&strcmp(vv
[2], "+"))
if (strcmp(vv
[2], "Jr.")==0)
printf("%s %s\n",vv
[0],vv
[1]);
if (strcmp(vv
[0], "+")==0)
if (s
[-1]==' ' && prefix("Vol", s
))
if (*q
==' ' || *q
==',') *q
=0;
for(s
=ubuff
; *s
&& (*s
!=',' || sprefix("Inc", s
+1)); s
++)
printf("%%I %s\n",ubuff
);
printf("%%J %s\n", ubuff
);
else if (substr(ubuff
, "Report")!=0)
printf("%%R %s\n", ubuff
);
printf("%%J %s\n", ubuff
);
while (*s
&& *s
!= ' ' && *s
!=',' && *s
!=';' && *s
!= ':')
if (s
[0]=='N' && s
[1]=='o' && (s
[2]==' '||s
[2]=='.'))
while (*s
==' '||*s
=='.')s
++;
while (isdigit(*s
)||*s
=='-')
for(rr
=months
; *rr
; rr
++)
if (q
[0]=='1' && q
[1]=='9' && (q
[4]==0 || (q
[4]=='.' && q
[5]==0)))
if (*rr
==0) /* no date */
/* if book bite off next field for city, if report for issuer */
for(q
=s
; *q
&& *q
!= ','; q
++)
if (isupper(r
[0]) && isupper(r
[1]))
if (q
[0]==' ' && q
[1]=='p' && (q
[2]=='p'||q
[2]==0))
while (*q
==' '||*q
=='.')q
++;
while (isdigit(*q
)||*q
=='.'||*q
=='-'||isalpha(*q
))q
++;
printf("%%O %s %s\n", *s
?s
:"", *q
?q
:"");
while (*s
!= 0 && *s
!=' '&& *s
!= '\t')s
++;
while (*s
==' ' || *s
=='\t')s
++;
while ((c
= *small
++) == *big
++)
return(prefix(small
,big
));
if (!isdigit(*p
)) return(s
);
if (p
[0]!='p' || p
[1]!='p') return(s
);
sprintf(buff
, "%spp.", t
);