NAME
	process_string - give a string with replaced calldescriptions

SYNOPSIS
	string process_string(string combinestringi, void | int security)

DESCRIPTION
	Processes a string by replacing specific syntactic patterns with
	what is returned when the pattern is interpreted as a function
	call description.

	The syntactic patterns are on the form:

		   "@@function[:filename][|arg1|arg2....|argN]@@"

	This is interpreted as a call:

		filename->function(arg1, arg2, ....., argN)

  	Note that process_string does not recurse over returned
  	replacement values. If a function returns another syntactic
  	pattern, that description will not be replaced.

	All such occurrences in 'combinestring' is processed and replaced if
	the return value is a string. If the return value is not a string
	the pattern will remain unreplaced.

  	Note that both object and arguments are marked optional with the
	brackets and that the brackets are not included in the actual pattern.

	If the security parameter is specified and non-zero, the call is
	generated with a special object marked as the generator. The
	object is provided by the function "get_vbfc_object". This object
	will normally be one without any privileges.

SEE ALSO
	process_value

CAVEAT
	This is usually used to support 'value by function call' in the mudlib.
	It is wise to set the effuserid of the object to 0 before using
	process_value as any function in any object can be called with almost
	any arguments.

EXAMPLE
	A string:	

	  "You are chased by @@query_the_name:/obj/monster#123@@ eastward."

   	is replaced by: 

	  "You are chased by the orc eastward."

        Assuming that query_the_name in monster#123 returns "the orc".


