From c712e7475026d6e7e094bdfed6bc97b0e83ecdfc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Thu, 23 Apr 1998 17:30:44 -0700
Subject: [PATCH] _static_modules() is now an object instead of a mapping

Rev: src/module.c:1.9
---
 src/module.c | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)

diff --git a/src/module.c b/src/module.c
index 052fb39255..efbfe4c9bc 100644
--- a/src/module.c
+++ b/src/module.c
@@ -17,7 +17,7 @@
 
 #include "modules/modlist_headers.h"
 
-RCSID("$Id: module.c,v 1.8 1998/03/28 15:10:50 grubba Exp $");
+RCSID("$Id: module.c,v 1.9 1998/04/24 00:30:44 hubbe Exp $");
 
 typedef void (*modfun)(void);
 
@@ -36,26 +36,21 @@ static struct static_module module_list[] = {
 
 void init_modules(void)
 {
+  struct program *p;
   unsigned int e;
-  struct mapping *m = allocate_mapping(10);
-  push_text("_static_modules");
-  ref_push_mapping(m);
-  f_add_constant(2);
+
+  start_new_program();
 
   for(e=0;e<NELEM(module_list);e++)
   {
-    struct program *p;
-    struct pike_string *s;
     start_new_program();
     module_list[e].init();
-    p=end_program();
-
-    push_text(module_list[e].name); 
-    push_program(p);
-    mapping_insert(m, sp-2, sp-1);
-    pop_n_elems(2);
+    end_class(module_list[e].name,0);
   }
-  free_mapping(m);
+  push_text("_static_modules");
+  push_object(low_clone(p=end_program()));
+  f_add_constant(2);
+  free_program(p);
 }
 
 void exit_modules(void)
-- 
GitLab