char ilnm[LAST_NAME_MAX_ILEN + 1];
char ifnm[FIRST_NAME_MAX_ILEN + 1 + 6]; /* extra for ", Jr.", et al */
char iyr[MIT_YEAR_ILEN + 1];
+ int ends_sr = 0; /* 1 if name ends in "SR" or "SR." */
int ends_jr = 0; /* 1 if name ends in "JR" or "JR." */
int ends_iii = 0; /* 1 if name ends in "III" */
int ends_iv = 0; /* 1 if name ends in "IV" */
/* Last name ... */
TrimTrailingSpace(ilnm);
- LookForJrAndIII(ilnm, &ends_jr, &ends_iii, &ends_iv);
+ LookForJrAndIII(ilnm, &ends_sr, &ends_jr, &ends_iii, &ends_iv);
LookForSt(ilnm);
LookForO(ilnm);
FixCase(ilnm);
/* First name & middle initial ... */
TrimTrailingSpace(ifnm);
- LookForJrAndIII(ifnm, &ends_jr, &ends_iii, &ends_iv);
+ LookForJrAndIII(ifnm, &ends_sr, &ends_jr, &ends_iii, &ends_iv);
GetMidInit(ifnm, querv[6]);
FixCase(ifnm);
/* okay, finish up first name */
- AppendJrOrIII(ifnm, &ends_jr, &ends_iii, &ends_iv);
+ AppendJrOrIII(ifnm, &ends_sr, &ends_jr, &ends_iii, &ends_iv);
/* MIT Year ... */
*mi = '\0';
}
-AppendJrOrIII(nm, phas_jr, phas_iii, phas_iv)
+AppendJrOrIII(nm, phas_sr, phas_jr, phas_iii, phas_iv)
register char *nm;
+ register int *phas_sr;
register int *phas_jr;
register int *phas_iii;
register int *phas_iv;
{
- if (*phas_jr) {
+ if (*phas_sr) {
+ (void) strcat(nm, ", Sr.");
+ }
+ else if (*phas_jr) {
(void) strcat(nm, ", Jr.");
}
else if (*phas_iii) {
}
}
-LookForJrAndIII(nm, pends_jr, pends_iii, pends_iv)
+LookForJrAndIII(nm, pends_sr, pends_jr, pends_iii, pends_iv)
register char *nm;
+ register int *pends_sr;
register int *pends_jr;
register int *pends_iii;
register int *pends_iv;
{
register int len = strlen(nm);
- if (len >= 4 && !strcmp(nm + len - 3, " JR")) {
+ if (len >= 4 && !strcmp(nm + len - 3, " SR")) {
+ *pends_sr = 1;
+ nm[len - 3] = '\0';
+ }
+ else if (len >= 4 && !strcmp(nm + len - 3, " JR")) {
*pends_jr = 1;
nm[len - 3] = '\0';
}
*pends_iv = 1;
nm[len - 3] = '\0';
}
+ else if (len >= 5 && !strcmp(nm + len - 4, " SR.")) {
+ *pends_sr = 1;
+ nm[len - 4] = '\0';
+ }
else if (len >= 5 && !strcmp(nm + len - 4, " JR.")) {
*pends_jr = 1;
nm[len - 4] = '\0';