summaryrefslogtreecommitdiff
path: root/soltools/cpp/_eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'soltools/cpp/_eval.c')
-rw-r--r--soltools/cpp/_eval.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/soltools/cpp/_eval.c b/soltools/cpp/_eval.c
index e8b679ea93e1..dba04abf4649 100644
--- a/soltools/cpp/_eval.c
+++ b/soltools/cpp/_eval.c
@@ -726,9 +726,11 @@ struct value
if (*p == 'x')
{
p += 1;
- i = digit(*p);
- while (i >= 0 && i <= 15)
+ while (1)
{
+ i = digit(*p);
+ if (i < 0 || i > 16)
+ break;
p += 1;
n <<= 4;
n += i;