From 53eb42fcfd48f11bdcdc4abc379fd22f74c28e2f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Thu, 7 Nov 2013 19:14:44 +0100
Subject: [PATCH] decode_value: Fixed inherit of programs needing parent.

Fixes dumping of eg 7.4::Stdio.File.
---
 src/encode.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/encode.c b/src/encode.c
index 2a0e3465ad..3fa4aebca6 100644
--- a/src/encode.c
+++ b/src/encode.c
@@ -4660,13 +4660,12 @@ static void decode_value2(struct decode_data *data)
 
 		/* prog */
 		decode_value2(data);
-		if (TYPEOF(Pike_sp[-1]) != T_PROGRAM) {
+		if (!(prog = program_from_svalue(Pike_sp-1))) {
 		  ref_push_program (p);
 		  decode_error(data, Pike_sp - 1,
 			       "Bad inherit: Expected program, got: %O\n",
 			       Pike_sp - 2);
 		}
-		prog = Pike_sp[-1].u.program;
 		if (prog == placeholder_program) {
 		  ref_push_program (p);
 		  decode_error (data, Pike_sp - 1,
-- 
GitLab