1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-17 12:03:07 +01:00

Merge pull request #2160 from janisozaur/develop

fixes
This commit is contained in:
Ted John
2015-10-29 21:36:40 +00:00
2 changed files with 19 additions and 10 deletions

View File

@@ -324,6 +324,7 @@ int NetworkAddress::ResolveFunc(void* pointer)
memcpy(&(*ss), res->ai_addr, res->ai_addrlen);
*ss_len = res->ai_addrlen;
*status = RESOLVE_OK;
freeaddrinfo(res);
} else {
*status = RESOLVE_FAILED;
}
@@ -584,7 +585,12 @@ void Network::UpdateClient()
case NETWORK_STATUS_CONNECTING:{
int error = 0;
socklen_t len = sizeof(error);
getsockopt(server_connection.socket, SOL_SOCKET, SO_ERROR, (char*)&error, &len);
int result = getsockopt(server_connection.socket, SOL_SOCKET, SO_ERROR, (char*)&error, &len);
if (result != 0)
{
log_error("getsockopt failed with error %d", LAST_SOCKET_ERROR());
break;
}
if (error != 0) {
log_error("Connection failed %d", error);
connectfailed = true;
@@ -602,9 +608,14 @@ void Network::UpdateClient()
timeout.tv_sec = 0;
timeout.tv_usec = 0;
if (select(server_connection.socket + 1, NULL, &writeFD, NULL, &timeout) > 0) {
int error = 0;
error = 0;
socklen_t len = sizeof(error);
getsockopt(server_connection.socket, SOL_SOCKET, SO_ERROR, (char*)&error, &len);
result = getsockopt(server_connection.socket, SOL_SOCKET, SO_ERROR, (char*)&error, &len);
if (result != 0)
{
log_error("getsockopt failed with error %d", LAST_SOCKET_ERROR());
break;
}
if (error == 0) {
status = NETWORK_STATUS_CONNECTED;
Client_Send_AUTH(OPENRCT2_VERSION, gConfigNetwork.player_name, "");

View File

@@ -817,7 +817,7 @@ int scenario_get_num_packed_objects_to_write()
rct_object_entry_extended *entry = (rct_object_entry_extended*)0x00F3F03C;
for (i = 0; i < 721; i++, entry++) {
if (GET_RIDE_ENTRY(i) == 0xFFFFFFFF || (entry->flags & 0xF0))
if (GET_RIDE_ENTRY(i) == (void *)0xFFFFFFFF || (entry->flags & 0xF0))
continue;
count++;
@@ -835,7 +835,7 @@ int scenario_write_packed_objects(SDL_RWops* rw)
int i;
rct_object_entry_extended *entry = (rct_object_entry_extended*)0x00F3F03C;
for (i = 0; i < 721; i++, entry++) {
if (GET_RIDE_ENTRY(i) == 0xFFFFFFFF || (entry->flags & 0xF0))
if (GET_RIDE_ENTRY(i) == (void *)0xFFFFFFFF || (entry->flags & 0xF0))
continue;
if (!write_object_file(rw, (rct_object_entry*)entry))
@@ -875,7 +875,7 @@ int scenario_write_available_objects(FILE *file)
rct_object_entry_extended *srcEntry = (rct_object_entry_extended*)0x00F3F03C;
rct_object_entry *dstEntry = (rct_object_entry*)buffer;
for (i = 0; i < 721; i++) {
if (GET_RIDE_ENTRY(i) == 0xFFFFFFFF)
if (GET_RIDE_ENTRY(i) == (void *)0xFFFFFFFF)
memset(dstEntry, 0xFF, sizeof(rct_object_entry));
else
*dstEntry = *((rct_object_entry*)srcEntry);
@@ -1021,10 +1021,9 @@ int scenario_save(SDL_RWops* rw, int flags)
memcpy(&s6->info, (rct_s6_info*)0x0141F570, sizeof(rct_s6_info));
for (int i = 0; i < 721; i++) {
uint32 chunkPtr = GET_RIDE_ENTRY(i);
rct_object_entry_extended *entry = &(RCT2_ADDRESS(0x00F3F03C, rct_object_entry_extended)[i]);
if (GET_RIDE_ENTRY(i) == 0xFFFFFFFF) {
if (GET_RIDE_ENTRY(i) == (void *)0xFFFFFFFF) {
memset(&s6->objects[i], 0xFF, sizeof(rct_object_entry));
} else {
s6->objects[i] = *((rct_object_entry*)entry);
@@ -1095,10 +1094,9 @@ int scenario_save_network(SDL_RWops* rw)
memcpy(&s6->info, (rct_s6_info*)0x0141F570, sizeof(rct_s6_info));
for (int i = 0; i < 721; i++) {
uint32 chunkPtr = GET_RIDE_ENTRY(i);
rct_object_entry_extended *entry = &(RCT2_ADDRESS(0x00F3F03C, rct_object_entry_extended)[i]);
if (GET_RIDE_ENTRY(i) == 0xFFFFFFFF) {
if (GET_RIDE_ENTRY(i) == (void *)0xFFFFFFFF) {
memset(&s6->objects[i], 0xFF, sizeof(rct_object_entry));
} else {
s6->objects[i] = *((rct_object_entry*)entry);