Aus Driversourcen kopiert
Change-Id: I288bc25d995b1e20e5894f1c5ab4e71055be9324
diff --git a/doc/efun/process_string b/doc/efun/process_string
new file mode 100644
index 0000000..8f43053
--- /dev/null
+++ b/doc/efun/process_string
@@ -0,0 +1,43 @@
+OPTIONAL
+SYNOPSIS
+ string process_string(string str)
+
+BESCHREIBUNG
+ Durchsucht den String <str> nach "value by function call", das
+ heisst nach @@, gefolgt von einem impliziten Funktionsaufruf. Siehe
+ auch "value_by_function_call" im Prinzipien-Teil der Enzy.
+
+ Der Wert sollte eine String in dieser Form enthalten:
+ @@function[:filename][|arg|arg]@@
+
+ <function> muss einen String zurueckliefern, sonst wird der zu
+ verarbeitende String unveraendert zurueck geliefert.
+
+ process_string() fuehrt keine Rekursion ueber zurueck gelieferte
+ Werte durch: wenn eine Funktion wiederum eine implizite Funktion
+ zurueckliefert, wird diese zweite Funktion nicht mehr verarbeitet.
+
+ Sowohl <filename> wie auch die Argumente <arg> sind optional.
+
+BEISPIELE
+ string foo(string str) {
+ return "ab"+str+"ef";
+ }
+
+ void func() {
+ write(process_string("@@foo|cd@@"+"\n");
+ }
+
+ func() gibt jetzt an den Benutzer den String "abcdef" aus.
+
+FEHLER
+ Die Verwendung von process_string() kann massive Sicherheitsprobleme
+ verursachen.
+
+GESCHICHTE
+ Wegen der Sicherheitsprobleme ist process_string() seit 3.2.1@34
+ optional.
+
+SIEHE AUCH
+ notify_fail(E), closures(LPC), get_bb_uid(M)
+