diff options
author | Andreas Scherer <andreas_tex@freenet.de> | 2023-08-09 14:19:34 +0000 |
---|---|---|
committer | Andreas Scherer <andreas_tex@freenet.de> | 2023-08-09 14:19:34 +0000 |
commit | dbbd6331ac0732e8394a3119bbc4df77d5ad7595 (patch) | |
tree | 1d9d6a9a0e42ea8f498a2dbed481dfe475815821 | |
parent | d249131e91edd32d48e0ebea6213e181cf692c0a (diff) |
[CWEB] The loops must terminate.
Read all digits from user input.
git-svn-id: svn://tug.org/texlive/trunk@67860 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Build/source/texk/web2c/cwebdir/ctwill-w2c.ch | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/cweave.w | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch b/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch index 12b5f771f2b..52a199f5634 100644 --- a/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch +++ b/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch @@ -1555,8 +1555,8 @@ new_meaning( name_pointer p=id_lookup(first,loc-1,normal); sixteen_bits t=title_lookup(); if (*(loc-1)=='}') - while (xisdigit(*loc))@^system dependencies@> - if (n < INT_MAX / 10) n=10*n+(*loc++)-'0'; + for (;xisdigit(*loc);loc++)@^system dependencies@> + if (n < INT_MAX / 10) n=10*n+(*loc)-'0'; if (*loc++!=' ') err_print(_("! Location in meaning should be followed by space")); else @<Digest the meaning of |p|, |t|, |n|@>@; diff --git a/Build/source/texk/web2c/cwebdir/cweave.w b/Build/source/texk/web2c/cwebdir/cweave.w index 0f20e0699cd..4cd934c1e1b 100644 --- a/Build/source/texk/web2c/cwebdir/cweave.w +++ b/Build/source/texk/web2c/cwebdir/cweave.w @@ -4241,8 +4241,8 @@ else { loc++; } else { - sec_depth=0; while (xisdigit(*loc))@^system dependencies@> - if (sec_depth < INT_MAX / 10) sec_depth = sec_depth*10 + (*loc++) -'0'; + for (sec_depth=0; xisdigit(*loc);loc++)@^system dependencies@> + if (sec_depth < INT_MAX / 10) sec_depth = sec_depth*10 + (*loc) -'0'; } while (*loc == ' ') loc++; /* remove spaces before group title */ group_found=true; |