summaryrefslogtreecommitdiff
path: root/Src/params.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/params.c')
-rw-r--r--Src/params.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/Src/params.c b/Src/params.c
index 93319dbfe..1c41d2fc2 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -1484,7 +1484,19 @@ export_param(Param pm)
{
char buf[(sizeof(zlong) * 8) + 4], *val;
- if (PM_TYPE(pm->flags) == PM_INTEGER)
+ if (PM_TYPE(pm->flags) & (PM_ARRAY|PM_HASHED)) {
+#if 0 /* Requires changes elsewhere in params.c and builtin.c */
+ if (emulation == EMULATE_KSH /* isset(KSHARRAYS) */) {
+ struct value v;
+ v.isarr = 1;
+ v.inv = 0;
+ v.start = 0;
+ v.end = -1;
+ val = getstrvalue(&v);
+ } else
+#endif
+ return;
+ } else if (PM_TYPE(pm->flags) == PM_INTEGER)
convbase(val = buf, pm->gets.ifn(pm), pm->ct);
else if (pm->flags & (PM_EFLOAT|PM_FFLOAT))
val = convfloat(pm->gets.ffn(pm), pm->ct,