summaryrefslogtreecommitdiff
path: root/Build/source/texk/upmendex/fread.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/upmendex/fread.c')
-rw-r--r--Build/source/texk/upmendex/fread.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/Build/source/texk/upmendex/fread.c b/Build/source/texk/upmendex/fread.c
index 358c21a4987..a336022e11b 100644
--- a/Build/source/texk/upmendex/fread.c
+++ b/Build/source/texk/upmendex/fread.c
@@ -511,35 +511,45 @@ ATTRLOOP:
switch(page_precedence[pattr[cc]]) {
case 'r':
if (strchr("ivxlcdm",p->page[i])==NULL) {
- pattr[cc]++;
+ if (pattr[cc]<strlen(page_precedence)-1)
+ pattr[cc]++;
+ else pattr[cc]=0;
for (j=cc+1;j<3;j++) pattr[j]=0;
goto ATTRLOOP;
}
break;
case 'R':
if (strchr("IVXLCDM",p->page[i])==NULL) {
- pattr[cc]++;
+ if (pattr[cc]<strlen(page_precedence)-1)
+ pattr[cc]++;
+ else pattr[cc]=0;
for (j=cc+1;j<3;j++) pattr[j]=0;
goto ATTRLOOP;
}
break;
case 'n':
if (p->page[i]<'0' || p->page[i]>'9') {
- pattr[cc]++;
+ if (pattr[cc]<strlen(page_precedence)-1)
+ pattr[cc]++;
+ else pattr[cc]=0;
for (j=cc+1;j<3;j++) pattr[j]=0;
goto ATTRLOOP;
}
break;
case 'a':
if (p->page[i]<'a' || p->page[i]>'z') {
- pattr[cc]++;
+ if (pattr[cc]<strlen(page_precedence)-1)
+ pattr[cc]++;
+ else pattr[cc]=0;
for (j=cc+1;j<3;j++) pattr[j]=0;
goto ATTRLOOP;
}
break;
case 'A':
if (p->page[i]<'A' || p->page[i]>'Z') {
- pattr[cc]++;
+ if (pattr[cc]<strlen(page_precedence)-1)
+ pattr[cc]++;
+ else pattr[cc]=0;
for (j=cc+1;j<3;j++) pattr[j]=0;
goto ATTRLOOP;
}