From 0ceb87249d84811faf2931f9e512cf796b73fb26 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Sun, 7 Jun 1998 21:44:46 +0200
Subject: [PATCH] Support for program_from_svalue() in f_values() and
 f_indices().

Rev: src/builtin_functions.c:1.113
---
 src/builtin_functions.c | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/src/builtin_functions.c b/src/builtin_functions.c
index a2e7ffd712..a17bf733b2 100644
--- a/src/builtin_functions.c
+++ b/src/builtin_functions.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: builtin_functions.c,v 1.112 1998/05/25 15:23:25 grubba Exp $");
+RCSID("$Id: builtin_functions.c,v 1.113 1998/06/07 19:44:46 grubba Exp $");
 #include "interpret.h"
 #include "svalue.h"
 #include "pike_macros.h"
@@ -822,6 +822,16 @@ void f_indices(INT32 args)
     a = program_indices(sp[-args].u.program);
     break;
 
+  case T_FUNCTION:
+    {
+      struct program *p = program_from_svalue(sp-args);
+      if (p) {
+	a = program_indices(p);
+	break;
+      }
+    }
+    /* FALL THROUGH */
+
   default:
     PIKE_ERROR("indices", "Bad argument 1.\n", sp, args);
     return; /* make apcc happy */
@@ -877,6 +887,16 @@ void f_values(INT32 args)
     a = program_values(sp[-args].u.program);
     break;
 
+  case T_FUNCTION:
+    {
+      struct program *p = program_from_svalue(sp - args);
+      if (p) {
+	a = program_values(p);
+	break;
+      }
+    }
+    /* FALL THROUGH */
+
   default:
     PIKE_ERROR("values", "Bad argument 1.\n", sp, args);
     return;  /* make apcc happy */
-- 
GitLab