OPTIONAL
SYNOPSIS
string process_string(string str)
DESCRIPTION
Searches string str for occurrences of a "value by function
call", which is an implicit function call surrounded by @@. See
"value_by_function_call" in the principles section.
The value should contain a string like this:
@@function[:filename][|arg|arg]@@
<function> must return a string or else the string which should be
processed will be returned unchanged.
process_string() does not recurse over returned
replacement values. If a function returns another function
description, that description will not be replaced.
Both the filename and the args are optional.
Consecutive function calls can be written adjacent:
@@function1@@function2@@
EXAMPLES
string foo(string str) {
return "ab"+str+"ef";
}
void func() {
write(process_string("@@foo|cd@@")+"\n");
}
The function func() will print out the string "abcdef".
BUGS
Using process_string() can lead to severe security problems.
HISTORY
Because of the security problems, process_string() is an
optional efun since 3.2.1@34
LDMud 3.3.160 removed the undocumented 'feature' that a function call
declaration could be terminated by a space. In turn this now allows
the use of arguments with spaces.
SEE ALSO
notify_fail(E), closures(LPC), get_bb_uid(M)
|