summaryrefslogtreecommitdiff
path: root/pack.c
diff options
context:
space:
mode:
Diffstat (limited to 'pack.c')
-rw-r--r--pack.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/pack.c b/pack.c
index 0ccc58bfbe..c5a5337eae 100644
--- a/pack.c
+++ b/pack.c
@@ -1871,8 +1871,8 @@ pack_unpack(VALUE str, VALUE fmt)
case 'P':
if (sizeof(char *) <= send - s) {
+ VALUE tmp = Qnil;
char *t;
- VALUE tmp;
memcpy(&t, s, sizeof(char *));
s += sizeof(char *);
@@ -1902,9 +1902,6 @@ pack_unpack(VALUE str, VALUE fmt)
rb_raise(rb_eArgError, "non associated pointer");
}
}
- else {
- tmp = Qnil;
- }
UNPACK_PUSH(tmp);
}
break;
@@ -1916,7 +1913,7 @@ pack_unpack(VALUE str, VALUE fmt)
if (send - s < sizeof(char *))
break;
else {
- VALUE tmp;
+ VALUE tmp = Qnil;
char *t;
memcpy(&t, s, sizeof(char *));
@@ -1941,9 +1938,6 @@ pack_unpack(VALUE str, VALUE fmt)
rb_raise(rb_eArgError, "non associated pointer");
}
}
- else {
- tmp = Qnil;
- }
UNPACK_PUSH(tmp);
}
}