Lambda-Closures durch Inline-Closures ersetzt

Change-Id: Ic4d3a5d1d6e66354b348b07fc95561739a2a0980
diff --git a/std/player/invmaster/invmaster.c b/std/player/invmaster/invmaster.c
index 5b6d599..6ecac91 100644
--- a/std/player/invmaster/invmaster.c
+++ b/std/player/invmaster/invmaster.c
@@ -119,20 +119,14 @@
   // it just checks every word of the name, if it does not begin
   // with a capital letter, it is abbreviated
   // this happens only if the name length exceeds 20 chars...
-  abbreviate=lambda(({'x}), 
-      ({#'?, ({#'>, ({#'member, quote(({"der", "des"})), 'x}), 0}),
-        "d.",
-        ({#'?, ({#'>, ({#'sizeof, 'x}), 3}), 
-          ({#'?, ({#',, ({#'=, 'a, ({#'allocate, 1}) }),
-                        ({#'=, ({#'[, 'a, 0}), 'x }), 
-                        ({#'sizeof, ({#'regexp, 'a, "^[a-z].*"}) }) 
-                 }), 
-            ({#'+, ({#'[..], 'x, 0, 1}), "."}),
-            'x
-          }), 
-          'x
-        })
-      }));
+  abbreviate = function string (string x) {
+      if ( member(({"der","des"}), x) > 0 )
+        return "d.";
+      else if ( sizeof(x) > 3)
+        return regreplace(x, "^[a-z].+", x[0..0]+".", 0x1);
+      else
+        return x;
+    };
 }
 
 // function that tries to guess a good item name and use abbrevations