aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--interpret.h3
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8ca1e095..637b5d08 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2019-02-21 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * interpert.h (Op_store_field): Move call to force_string to
+ here from unfield. Speeds up work with fields that are numeric
+ only. Thanks to Tom Gray <tom_gray@keysight.com> for the report.
+
2019-04-21 Arnold D. Robbins <arnold@skeeve.com>
* POSIX.STD: Updated.
diff --git a/interpret.h b/interpret.h
index cc6e02af..478dc82a 100644
--- a/interpret.h
+++ b/interpret.h
@@ -46,7 +46,6 @@ unfield(NODE **l, NODE **r)
(*l) = dupnode(*r);
DEREF(*r);
}
- force_string(*l);
}
#define UNFIELD(l, r) unfield(& (l), & (r))
@@ -729,6 +728,8 @@ mod:
unref(*lhs);
r = POP_SCALAR();
UNFIELD(*lhs, r);
+ /* field variables need the string representation: */
+ force_string(*lhs);
}
break;