Select Git revision
base64-meta.c
Forked from
Nettle / nettle
Source project has a limited visibility.
-
Niels Möller authored
Rev: src/nettle/ChangeLog:1.58 Rev: src/nettle/NEWS:1.5 Rev: src/nettle/base64-meta.c:1.2 Rev: src/nettle/base64.h:1.2 Rev: src/nettle/sha1.c:1.7 Rev: src/nettle/testsuite/.cvsignore:1.16
Niels Möller authoredRev: src/nettle/ChangeLog:1.58 Rev: src/nettle/NEWS:1.5 Rev: src/nettle/base64-meta.c:1.2 Rev: src/nettle/base64.h:1.2 Rev: src/nettle/sha1.c:1.7 Rev: src/nettle/testsuite/.cvsignore:1.16
module.c 1.22 KiB
/*\
||| This file a part of Pike, and is copyright by Fredrik Hubinette
||| Pike is distributed as GPL (General Public License)
||| See the files COPYING and DISCLAIMER for more information.
\*/
#include "global.h"
#include "module.h"
#include "macros.h"
#include "error.h"
#include "builtin_functions.h"
#include "main.h"
#include "svalue.h"
#include "interpret.h"
#include "stralloc.h"
#include "object.h"
#include "mapping.h"
#include "modules/modlist_headers.h"
typedef void (*modfun)(void);
struct static_module
{
char *name;
modfun init;
modfun exit;
};
static struct static_module module_list[] = {
{ "Builtin", init_main, exit_main }
#include "modules/modlist.h"
};
void init_modules(void)
{
unsigned int e;
struct mapping *m = allocate_mapping(10);
m->refs++;
push_text("_static_modules");
push_mapping(m);
f_add_constant(2);
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);
}
}
void exit_modules(void)
{
int e;
for(e=NELEM(module_list)-1;e>=0;e--)
module_list[e].exit();
}