pike.git
/
src
/
constants.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/constants.c:9:
#include "pike_macros.h" #include "program.h" #include "pike_types.h" #include "stralloc.h" #include "pike_memory.h" #include "interpret.h" #include "mapping.h" #include "pike_error.h" #include "block_alloc.h"
-
RCSID("$Id: constants.c,v 1.
28
2001/
03
/
03
00
:
23
:
45
grubba
Exp $");
+
RCSID("$Id: constants.c,v 1.
29
2001/
04
/
07
07
:
38
:
24
hubbe
Exp $");
struct mapping *builtin_constants = 0; PMOD_EXPORT struct mapping *get_builtin_constants(void) { if(!builtin_constants) builtin_constants=allocate_mapping(20); return builtin_constants; }
pike.git/src/constants.c:61:
s.type=T_PROGRAM; s.subtype=0; s.u.program=p; low_add_constant(name, &s); } #undef EXIT_BLOCK #define EXIT_BLOCK(X) do { \ free_type(X->type); \ free_string(X->name); \
+
EXIT_PIKE_MEMOBJ(X); \
}while(0) BLOCK_ALLOC(callable,128) /* Eats one ref to 'type' and 'name' */ PMOD_EXPORT struct callable *low_make_callable(c_fun fun, struct pike_string *name, struct pike_type *type, INT16 flags, optimize_fun optimize, docode_fun docode) { struct callable *f=alloc_callable();
-
f
->refs=1
;
+
INIT_PIKE_MEMOBJ(
f
)
;
f->function=fun; f->name=name; f->type=type; f->flags=flags; f->docode=docode; f->optimize=optimize; #ifdef PIKE_DEBUG { struct pike_type *z = check_call(function_type_string, type, 0); f->may_return_void = (z == void_type_string);