mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-13 06:51:51 +00:00
fix potential fatal errors
This commit is contained in:
parent
6f466d52f2
commit
f246619c6b
3 changed files with 10 additions and 2 deletions
|
|
@ -133,6 +133,9 @@ static model::Mesh load_mesh(
|
||||||
if (flags == FLAG_ZLIB) {
|
if (flags == FLAG_ZLIB) {
|
||||||
throw std::runtime_error("compression is not supported yet");
|
throw std::runtime_error("compression is not supported yet");
|
||||||
}
|
}
|
||||||
|
if (attributeCount <= 0) {
|
||||||
|
throw std::runtime_error("mesh must have at least one attribute");
|
||||||
|
}
|
||||||
std::vector<VertexAttribute> attributes;
|
std::vector<VertexAttribute> attributes;
|
||||||
for (int i = 0; i < attributeCount; i++) {
|
for (int i = 0; i < attributeCount; i++) {
|
||||||
attributes.push_back(load_attribute(reader));
|
attributes.push_back(load_attribute(reader));
|
||||||
|
|
|
||||||
|
|
@ -152,6 +152,9 @@ std::vector<ubyte> io::read_bytes(const path& filename) {
|
||||||
std::string io::read_string(const path& filename) {
|
std::string io::read_string(const path& filename) {
|
||||||
size_t size;
|
size_t size;
|
||||||
auto bytes = read_bytes(filename, size);
|
auto bytes = read_bytes(filename, size);
|
||||||
|
if (bytes == nullptr) {
|
||||||
|
throw std::runtime_error("could not read file " + filename.string());
|
||||||
|
}
|
||||||
return std::string((const char*)bytes.get(), size);
|
return std::string((const char*)bytes.get(), size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -266,8 +266,10 @@ static int l_peek(lua::State* L, network::Network& network) {
|
||||||
static int l_available(lua::State* L, network::Network& network) {
|
static int l_available(lua::State* L, network::Network& network) {
|
||||||
u64id_t id = lua::tointeger(L, 1);
|
u64id_t id = lua::tointeger(L, 1);
|
||||||
|
|
||||||
if (auto connection = network.getConnection(id, false)) {
|
if (auto connection = dynamic_cast<network::ReadableConnection*>(
|
||||||
return lua::pushinteger(L, dynamic_cast<network::TcpConnection*>(connection)->available());
|
network.getConnection(id, false)
|
||||||
|
)) {
|
||||||
|
return lua::pushinteger(L, connection->available());
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue