Go to the source code of this file.
◆ init_nasl_library()
int init_nasl_library |
( |
lex_ctxt * |
lexic | ) |
|
Adds "built-in" variable and function definitions to a context.
- Returns
- Number of definitions done -1.
Definition at line 651 of file nasl_init.c.
Referenced by exec_nasl_script().
658 memset (&tc, 0,
sizeof (tc));
659 for (i = 0, c = 0; i <
sizeof (libfuncs) /
sizeof (libfuncs[0]) - 1; i++)
663 nasl_perror (lexic,
"init_nasl_library: could not define fct '%s'\n",
671 for (j = 0, p = libfuncs[i].args, q = NULL; (*p) != NULL; j++)
673 if (q != NULL && strcmp (q, *p) > 0)
675 "init_nasl_library: unsorted args for function %s: %s > %s\n",
676 libfuncs[i].
name, q, (*p));
688 for (i = 0; i <
sizeof (libivars) /
sizeof (libivars[0]) - 1; i++)
690 tc.
x.
i_val = libivars[i].val;
693 nasl_perror (lexic,
"init_nasl_library: could not define var '%s'\n",
702 for (i = 0; i <
sizeof (libsvars) /
sizeof (libsvars[0]) - 1; i++)
705 tc.
size = strlen (libsvars[i].
val);
708 nasl_perror (lexic,
"init_nasl_library: could not define var '%s'\n",
717 nasl_perror (lexic,
"init_nasl_library: could not define var 'NULL'\n");
nasl_func * insert_nasl_func(lex_ctxt *lexic, const char *fname, tree_cell *decl_node)
#define FUNC_FLAG_INTERNAL
named_nasl_var * add_named_var_to_ctxt(lex_ctxt *, const char *, tree_cell *)
tree_cell *(* c_code)(lex_ctxt *)
void nasl_perror(lex_ctxt *lexic, char *msg,...)