SCCS-vsn: old/refer/refer/refer5.c 4.2
-static char *sccsid = "@(#)refer5.c 4.1 (Berkeley) %G%";
+static char *sccsid = "@(#)refer5.c 4.2 (Berkeley) %G%";
#endif
#include "refer..c"
#endif
#include "refer..c"
char t[100], t1[100], t2[100], format[10], *sd, *stline;
int addon, another = 0;
static FILE *fhide = 0;
char t[100], t1[100], t2[100], format[10], *sd, *stline;
int addon, another = 0;
static FILE *fhide = 0;
if (labels) {
if (nf == 0) /* old */
if (labels) {
if (nf == 0) /* old */
- if (!keywant || addon)
- if (!science)
- addch(t, keylet(t, nref));
+ if ((!keywant || addon) && !science) {
+ addch(t, keylet(t, nref));
+ }
+ else {
+ tokeytab (t,nref);
+ }
mycpy2(out, p, 20);
return(out);
}
mycpy2(out, p, 20);
return(out);
}
- for(s = p = flds[i]+2; *p; p++);
- while (p > s && *p != ' ')
- p--;
+ /* if its not 'L' then use just the last word */
+ s = p = flds[i]+2;
+ if (c != 'L') {
+ for(; *p; p++);
+ while (p > s && *p != ' ')
+ p--;
+ }
/* special wart for authors */
if (c == 'A' && (p[-1] == ',' || p[1] =='(')) {
p--;
/* special wart for authors */
if (c == 'A' && (p[-1] == ',' || p[1] =='(')) {
p--;
+
+tokeytab (t, nref)
+char *t;
+{
+ strcpy(labtab[nref]=lbp, t);
+ while (*lbp++)
+ ;
+}
+
keylet(t, nref)
char *t;
{
int i;
keylet(t, nref)
char *t;
{
int i;
for(i = 1; i < nref; i++) {
if (strcmp(labtab[i], t) == 0)
x = labc[i];
}
for(i = 1; i < nref; i++) {
if (strcmp(labtab[i], t) == 0)
x = labc[i];
}
- strcpy(labtab[nref]=lbp, t);
- while (*lbp++)
- ;
if (lbp-bflab > NFLAB)
err("bflab overflow (%d)", NFLAB);
if (nref > NLABC)
if (lbp-bflab > NFLAB)
err("bflab overflow (%d)", NFLAB);
if (nref > NLABC)