From c15240cef103144d2d60a5457ac0bbc610d9c715 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Mon, 10 Feb 1997 23:20:15 -0800 Subject: [PATCH] add_function_constant added Rev: src/program.c:1.20 Rev: src/program.h:1.12 --- src/program.c | 17 ++++++++++++++++- src/program.h | 2 ++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/program.c b/src/program.c index 270321fba9..a65b25795c 100644 --- a/src/program.c +++ b/src/program.c @@ -4,7 +4,7 @@ ||| See the files COPYING and DISCLAIMER for more information. \*/ #include "global.h" -RCSID("$Id: program.c,v 1.19 1997/02/07 01:34:19 hubbe Exp $"); +RCSID("$Id: program.c,v 1.20 1997/02/11 07:20:15 hubbe Exp $"); #include "program.h" #include "object.h" #include "dynamic_buffer.h" @@ -1066,6 +1066,21 @@ int add_program_constant(char *name, return ret; } +int add_function_constant(char *name, void (*cfun)(INT32), char * type, INT16 flags) +{ + struct svalue s; + struct pike_string *n; + INT32 ret; + + s.type=T_FUNCTION; + s.subtype=FUNCTION_BUILTIN; + s.u.efun=make_callable(cfun, name, type, flags, 0, 0); + ret=simple_add_constant(name, &s, 0); + free_svalue(&s); + return ret; +} + + int end_class(char *name, INT32 flags) { INT32 ret; diff --git a/src/program.h b/src/program.h index d48a69e81a..0a3ad12dc1 100644 --- a/src/program.h +++ b/src/program.h @@ -220,6 +220,8 @@ int add_string_constant(char *name, int add_program_constant(char *name, struct program *p, INT32 flags); +int add_function_constant(char *name, void (*cfun)(INT32), char * type, INT16 flags); +int end_class(char *name, INT32 flags); INT32 define_function(struct pike_string *name, struct pike_string *type, INT16 flags, -- GitLab