=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/function.c,v retrieving revision 1.5 retrieving revision 1.9 diff -u -p -r1.5 -r1.9 --- OpenXM_contrib2/asir2000/parse/function.c 2004/06/28 01:50:22 1.5 +++ OpenXM_contrib2/asir2000/parse/function.c 2014/08/09 06:08:11 1.9 @@ -45,23 +45,53 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/parse/function.c,v 1.4 2003/05/16 09:34:49 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/function.c,v 1.8 2005/09/21 23:39:32 noro Exp $ */ #include "ca.h" #include "parse.h" -void appendbinf(flistp,name,func,argc) +static int secure_mode; + +void setsecuremode(int value) +{ + secure_mode = value; +} + +int getsecuremode() +{ + return secure_mode; +} + +int setsecureflag(char *name,int value) +{ + FUNC f; + + searchf(noargsysf,name,&f); + if ( f ) { + f->secure = value; + return 0; + } + gen_searchf_searchonly(name,&f,0); + if ( f ) { + f->secure = value; + return 0; + } + return -1; +} + +void appendbinf(flistp,name,func,argc,quote) NODE *flistp; char *name; void (*func)(); int argc; +unsigned int quote; { FUNC t; NODE n; t = (FUNC)MALLOC(sizeof(struct oFUNC)); t->name = name; t->id = A_BIN; t->argc = argc; t->f.binf = func; - t->fullname = name; + t->fullname = name; t->quote = quote; MKNODE(n,t,*flistp); *flistp = n; } @@ -80,20 +110,22 @@ int type; MKNODE(n,t,*flistp); *flistp = n; } -void appendsysf(name,func,argc) +void appendsysf(name,func,argc,quote) char *name; void (*func)(); int argc; +unsigned int quote; { - appendbinf(&sysf,name,func,argc); + appendbinf(&sysf,name,func,argc,quote); } -void appendubinf(name,func,argc) +void appendubinf(name,func,argc,quote) char *name; void (*func)(); int argc; +unsigned int quote; { - appendbinf(&ubinf,name,func,argc); + appendbinf(&ubinf,name,func,argc,quote); } int comp_dcp(DCP *a,DCP *b)