Flatfile loadProfile - place newUser() inside of try block

This fixes incorrect behavior in the edge-case where an IOException occurs when reading (but not writing) the flatfile database.
This commit is contained in:
riking 2013-10-05 16:14:46 -07:00 committed by TfT_02
parent 77f9f40065
commit 70eb67dd6a

View File

@ -387,22 +387,30 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
} }
PlayerProfile p = loadFromLine(character); PlayerProfile p = loadFromLine(character);
in.close();
return p; return p;
} }
// Didn't find the player, create a new one
if (create) {
newUser(playerName);
return new PlayerProfile(playerName, true);
}
} }
catch (Exception e) { catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
finally { finally {
tryClose(in); // Silly inlining of tryClose() because the compiler is giving a warning when I use tryClose()
try {
if (in != null) {
in.close();
}
}
catch (IOException ignored) {}
} }
} }
if (create) { // Return unloaded profile
newUser(playerName);
return new PlayerProfile(playerName, true);
}
return new PlayerProfile(playerName); return new PlayerProfile(playerName);
} }