Korrektur Spielercheck
Diverse Pruefungen, ob ein Spieler existiert, gefixt.
Dabei direkt auf etwas robusteres umgestellt statt auf
die Existenz des Savefiles zu pruefen.
Change-Id: I13d251e497f166e12403c902c3fcac179c7dd879
diff --git a/std/player/base.c b/std/player/base.c
index 6d7af19..1078454 100644
--- a/std/player/base.c
+++ b/std/player/base.c
@@ -2277,17 +2277,22 @@
InitPlayer();
// Padreic 01.02.1999
- if ( !IS_LEARNER(ME) && second = QueryProp(P_SECOND) ) {
- if ( stringp(second) && lower_case(second)[0..3] == "von " ) {
+ if ( !IS_LEARNER(ME) && (second = QueryProp(P_SECOND)) )
+ {
+ if ( stringp(second) && lower_case(second)[0..3] == "von " )
+ {
second = lower_case(second[4..]);
SetProp( P_SECOND, second );
}
if ( !stringp(second ) ||
- file_size( "/save/" + second[0..0] + "/" + second + ".o" ) <= 0 ){
+ !master()->find_userinfo(second))
+ {
+ // Wenns nur an Gross-/Kleinschreibung liegt, wird automatisch
+ // korrigiert.
if ( stringp(second) &&
- file_size( "/save/" + lower_case(second[0..0]) + "/" +
- lower_case(second) + ".o" ) >0 ){
+ master()->find_userinfo(lower_case(second)))
+ {
SetProp( P_SECOND, lower_case(second) );
log_file( "WRONG_SECOND",
sprintf( "%s: %s: P_SECOND = %O -> Automatisch "