diff options
Diffstat (limited to 'src/buildvm_fold.c')
-rw-r--r-- | src/buildvm_fold.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/buildvm_fold.c b/src/buildvm_fold.c index eaca067f..468e5300 100644 --- a/src/buildvm_fold.c +++ b/src/buildvm_fold.c | |||
@@ -110,6 +110,14 @@ static uint32_t nexttoken(char **pp, int allowlit, int allowany) | |||
110 | for (i = 0; ircall_names[i]; i++) | 110 | for (i = 0; ircall_names[i]; i++) |
111 | if (!strcmp(ircall_names[i], p+7)) | 111 | if (!strcmp(ircall_names[i], p+7)) |
112 | return i; | 112 | return i; |
113 | } else if (allowlit && !strncmp(p, "IRCONV_", 7)) { | ||
114 | for (i = 0; irt_names[i]; i++) | ||
115 | if (!strncmp(irt_names[i], p+7, 3) && p[10] == '_') { | ||
116 | uint32_t j; | ||
117 | for (j = 0; irt_names[j]; j++) | ||
118 | if (!strncmp(irt_names[j], p+11, 3)) | ||
119 | return (i << 5) + j; | ||
120 | } | ||
113 | } else if (allowlit && *p >= '0' && *p <= '9') { | 121 | } else if (allowlit && *p >= '0' && *p <= '9') { |
114 | for (i = 0; *p >= '0' && *p <= '9'; p++) | 122 | for (i = 0; *p >= '0' && *p <= '9'; p++) |
115 | i = i*10 + (*p - '0'); | 123 | i = i*10 + (*p - '0'); |