summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xs.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/xs.h b/xs.h
index b53885e..ab5a264 100644
--- a/xs.h
+++ b/xs.h
@@ -398,6 +398,7 @@ xs_val *xs_dup(const xs_val *data)
398xs_val *xs_expand(xs_val *data, int offset, int size) 398xs_val *xs_expand(xs_val *data, int offset, int size)
399/* opens a hole in data */ 399/* opens a hole in data */
400{ 400{
401 xstype type = xs_type(data);
401 int sz = xs_size(data); 402 int sz = xs_size(data);
402 int n; 403 int n;
403 404
@@ -410,9 +411,9 @@ xs_val *xs_expand(xs_val *data, int offset, int size)
410 for (n = sz - 1; n >= offset + size; n--) 411 for (n = sz - 1; n >= offset + size; n--)
411 data[n] = data[n - size]; 412 data[n] = data[n - size];
412 413
413 if (xs_type(data) == XSTYPE_LIST || 414 if (type == XSTYPE_LIST ||
414 xs_type(data) == XSTYPE_DICT || 415 type == XSTYPE_DICT ||
415 xs_type(data) == XSTYPE_DATA) 416 type == XSTYPE_DATA)
416 _xs_put_size(data, sz); 417 _xs_put_size(data, sz);
417 418
418 return data; 419 return data;