ldmud-3.4.1/doc/
ldmud-3.4.1/doc/efun.de/
ldmud-3.4.1/doc/efun/
ldmud-3.4.1/doc/man/
ldmud-3.4.1/doc/other/
ldmud-3.4.1/mud/
ldmud-3.4.1/mud/heaven7/
ldmud-3.4.1/mud/lp-245/
ldmud-3.4.1/mud/lp-245/banish/
ldmud-3.4.1/mud/lp-245/doc/
ldmud-3.4.1/mud/lp-245/doc/examples/
ldmud-3.4.1/mud/lp-245/doc/sefun/
ldmud-3.4.1/mud/lp-245/log/
ldmud-3.4.1/mud/lp-245/obj/Go/
ldmud-3.4.1/mud/lp-245/players/lars/
ldmud-3.4.1/mud/lp-245/room/death/
ldmud-3.4.1/mud/lp-245/room/maze1/
ldmud-3.4.1/mud/lp-245/room/sub/
ldmud-3.4.1/mud/lp-245/secure/
ldmud-3.4.1/mud/morgengrauen/
ldmud-3.4.1/mud/morgengrauen/lib/
ldmud-3.4.1/mud/sticklib/
ldmud-3.4.1/mud/sticklib/src/
ldmud-3.4.1/mudlib/uni-crasher/
ldmud-3.4.1/pkg/
ldmud-3.4.1/pkg/debugger/
ldmud-3.4.1/pkg/diff/
ldmud-3.4.1/pkg/misc/
ldmud-3.4.1/src/autoconf/
ldmud-3.4.1/src/hosts/
ldmud-3.4.1/src/hosts/GnuWin32/
ldmud-3.4.1/src/hosts/amiga/
ldmud-3.4.1/src/hosts/win32/
ldmud-3.4.1/src/ptmalloc/
ldmud-3.4.1/src/util/
ldmud-3.4.1/src/util/erq/
ldmud-3.4.1/src/util/indent/hosts/next/
ldmud-3.4.1/src/util/xerq/
ldmud-3.4.1/src/util/xerq/lpc/
ldmud-3.4.1/src/util/xerq/lpc/www/
ldmud-3.4.1/test/t-030925/
ldmud-3.4.1/test/t-040413/
ldmud-3.4.1/test/t-041124/
OPTIONAL
SYNOPSIS
        string process_string(string str)

DESCRIPTION
        Searches string str for occurences 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@@

EXAMPLE
        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)