Fix bug in getSkin() that could result in skins not being fully read.

This commit is contained in:
hns 2005-04-13 09:22:59 +00:00
parent c54d767b6e
commit f889624d86

View file

@ -93,10 +93,19 @@ public final class Skin {
reader = new InputStreamReader(res.getInputStream(), encoding); reader = new InputStreamReader(res.getInputStream(), encoding);
} }
char[] characterBuffer = new char[(int) res.getLength()]; int length = (int) res.getLength();
int length = reader.read(characterBuffer); char[] characterBuffer = new char[length];
int read = 0;
reader.close(); try {
while (read < length) {
int r = reader.read(characterBuffer, read, length - read);
if (r == -1)
break;
read += r;
}
} finally {
reader.close();
}
return new Skin(characterBuffer, length, app); return new Skin(characterBuffer, length, app);
} }