fix compilation on archs where char is unsigned by default (like ppc)

bump and fix Makefile typo while there

ok ajacoutot
This commit is contained in:
martin 2013-08-28 18:56:37 +00:00
parent 92ddc6887d
commit 270d20f0eb
2 changed files with 35 additions and 2 deletions

View File

@ -1,11 +1,12 @@
# $OpenBSD: Makefile,v 1.7 2013/03/17 18:35:26 ajacoutot Exp $
# $OpenBSD: Makefile,v 1.8 2013/08/28 18:56:37 martin Exp $
ONLY_FOR_ARCHS= ${GCC4_ARCHS}
COMMENT= 2D adventure platformer game
# repackaged source from github minux the MacOS* dirs
# repackaged source from github minus the MacOS* dirs
DISTNAME= frogatto-1.3.20130317
REVISION= 0
MASTER_SITES= http://distfiles.bsdfrog.org/
EXTRACT_SUFX= .tar.bz2

View File

@ -0,0 +1,32 @@
--- src/multiplayer.cpp.orig Tue Mar 12 23:25:45 2013
+++ src/multiplayer.cpp Tue Aug 27 20:05:43 2013
@@ -131,7 +131,8 @@ void setup_networked_game(const std::string& server)
udp_socket.reset(new udp::socket(io_service));
udp_socket->open(udp::v4());
- boost::array<char, 4> udp_msg;
+ // on some archs, char is unsigned by default
+ boost::array<signed char, 4> udp_msg;
memcpy(&udp_msg[0], &id, 4);
// udp_socket->send_to(boost::asio::buffer(udp_msg), receiver_endpoint);
@@ -152,7 +153,8 @@ void setup_networked_game(const std::string& server)
namespace {
void send_confirm_packet(int nplayer, std::vector<char>& msg, bool has_confirm) {
- boost::array<char, 4096> udp_msg;
+ // on some archs, char is unsigned by default
+ boost::array<signed char, 4096> udp_msg;
msg.resize(6);
msg[0] = has_confirm ? 'a' : 'A';
memcpy(&msg[1], &id, 4);
@@ -288,7 +290,8 @@ void sync_start_time(const level& lvl, boost::function
}
while(udp_packet_waiting()) {
- boost::array<char, 4096> udp_msg;
+ // on some archs, char is unsigned by default
+ boost::array<signed char, 4096> udp_msg;
udp::endpoint endpoint;
size_t len = udp_socket->receive_from(boost::asio::buffer(udp_msg), endpoint);
if(len == 6 && ::toupper(udp_msg[0]) == 'A') {