|
@@ -952,9 +952,12 @@ const char* parse_callfunc(const char* p, int require_paren)
|
|
if( *arg != '*' )
|
|
if( *arg != '*' )
|
|
++arg; // count func as argument
|
|
++arg; // count func as argument
|
|
} else {
|
|
} else {
|
|
|
|
+#ifdef SCRIPT_CALLFUNC_CHECK
|
|
const char* name = get_str(func);
|
|
const char* name = get_str(func);
|
|
if( strdb_get(userfunc_db, name) == NULL ) {
|
|
if( strdb_get(userfunc_db, name) == NULL ) {
|
|
|
|
+#endif
|
|
disp_error_message("parse_line: expect command, missing function name or calling undeclared function",p);
|
|
disp_error_message("parse_line: expect command, missing function name or calling undeclared function",p);
|
|
|
|
+#ifdef SCRIPT_CALLFUNC_CHECK
|
|
} else {
|
|
} else {
|
|
int callfunc = search_str("callfunc");
|
|
int callfunc = search_str("callfunc");
|
|
add_scriptl(callfunc);
|
|
add_scriptl(callfunc);
|
|
@@ -965,6 +968,7 @@ const char* parse_callfunc(const char* p, int require_paren)
|
|
arg = buildin_func[str_data[callfunc].val].arg;
|
|
arg = buildin_func[str_data[callfunc].val].arg;
|
|
if( *arg != '*' ) ++ arg;
|
|
if( *arg != '*' ) ++ arg;
|
|
}
|
|
}
|
|
|
|
+#endif
|
|
}
|
|
}
|
|
|
|
|
|
p = skip_word(p);
|
|
p = skip_word(p);
|
|
@@ -1104,6 +1108,14 @@ const char* parse_simpleexpr(const char *p)
|
|
l=add_word(p);
|
|
l=add_word(p);
|
|
if( str_data[l].type == C_FUNC || str_data[l].type == C_USERFUNC || str_data[l].type == C_USERFUNC_POS)
|
|
if( str_data[l].type == C_FUNC || str_data[l].type == C_USERFUNC || str_data[l].type == C_USERFUNC_POS)
|
|
return parse_callfunc(p,1);
|
|
return parse_callfunc(p,1);
|
|
|
|
+#ifdef SCRIPT_CALLFUNC_CHECK
|
|
|
|
+ else {
|
|
|
|
+ const char* name = get_str(l);
|
|
|
|
+ if( strdb_get(userfunc_db,name) != NULL ) {
|
|
|
|
+ return parse_callfunc(p,1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+#endif
|
|
|
|
|
|
p=skip_word(p);
|
|
p=skip_word(p);
|
|
if( *p == '[' ){
|
|
if( *p == '[' ){
|