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