summaryrefslogtreecommitdiff
path: root/Src/params.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/params.c')
-rw-r--r--Src/params.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Src/params.c b/Src/params.c
index 35f699033..1a04d7904 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -2286,7 +2286,10 @@ stdunsetfn(Param pm, int exp)
case PM_SCALAR: pm->sets.cfn(pm, NULL); break;
case PM_ARRAY: pm->sets.afn(pm, NULL); break;
case PM_HASHED: pm->sets.hfn(pm, NULL); break;
- default: pm->u.str = NULL; break;
+ default:
+ if (!(pm->flags & PM_SPECIAL))
+ pm->u.str = NULL;
+ break;
}
pm->flags |= PM_UNSET;
}