summaryrefslogtreecommitdiff
path: root/Build/source/texk/upmendex/fread.c
diff options
context:
space:
mode:
authorTakuji Tanaka <ttk@t-lab.opal.ne.jp>2021-03-21 08:56:17 +0000
committerTakuji Tanaka <ttk@t-lab.opal.ne.jp>2021-03-21 08:56:17 +0000
commitfa9a70b20ec8185187665ef1c5cbb41a3afeaed7 (patch)
tree89974440cdc34d92e057f1223aac4b09ce9b9a0d /Build/source/texk/upmendex/fread.c
parent14f747595ca6558b495c45aaf3bcdd54e0bf1800 (diff)
upmendex: Fix a bug about page_precedence in style
git-svn-id: svn://tug.org/texlive/trunk@58576 c570f23f-e606-0410-a88d-b1316a301751
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;
}