Added simple init_networking() error checking

This commit is contained in:
Astonex 2013-07-24 00:32:50 +01:00
parent b7a4c20279
commit 29aa702a4f
4 changed files with 16 additions and 9 deletions

View File

@ -393,14 +393,18 @@ void m_callback_userstatus(void (*function)(int, uint8_t *, uint16_t))
#define PORT 33445 #define PORT 33445
/* run this at startup */ /* run this at startup */
void initMessenger() int initMessenger()
{ {
new_keys(); new_keys();
m_set_userstatus((uint8_t*)"Online", sizeof("Online")); m_set_userstatus((uint8_t*)"Online", sizeof("Online"));
initNetCrypto(); initNetCrypto();
IP ip; IP ip;
ip.i = 0; ip.i = 0;
init_networking(ip, PORT);
if(init_networking(ip,PORT) == -1)
return -1;
return 0;
} }
static void doFriends() static void doFriends()

View File

@ -132,8 +132,10 @@ void m_callback_namechange(void (*function)(int, uint8_t *, uint16_t));
you are not responsible for freeing newstatus */ you are not responsible for freeing newstatus */
void m_callback_userstatus(void (*function)(int, uint8_t *, uint16_t)); void m_callback_userstatus(void (*function)(int, uint8_t *, uint16_t));
/* run this at startup */ /* run this at startup
void initMessenger(); returns 0 if no connection problems
returns -1 if there are problems */
int initMessenger();
/* the main loop that needs to be run at least 200 times per second */ /* the main loop that needs to be run at least 200 times per second */

View File

@ -102,7 +102,7 @@ int receivepacket(IP_Port * ip_port, uint8_t * data, uint32_t * length)
ip must be in network order EX: 127.0.0.1 = (7F000001) ip must be in network order EX: 127.0.0.1 = (7F000001)
port is in host byte order (this means don't worry about it) port is in host byte order (this means don't worry about it)
returns 0 if no problems returns 0 if no problems
TODO: add something to check if there are errors */ returns -1 if there are problems */
int init_networking(IP ip ,uint16_t port) int init_networking(IP ip ,uint16_t port)
{ {
#ifdef WIN32 #ifdef WIN32
@ -146,7 +146,9 @@ int init_networking(IP ip ,uint16_t port)
/* Bind our socket to port PORT and address 0.0.0.0 */ /* Bind our socket to port PORT and address 0.0.0.0 */
ADDR addr = {AF_INET, htons(port), ip}; ADDR addr = {AF_INET, htons(port), ip};
bind(sock, (struct sockaddr*)&addr, sizeof(addr)); if(bind(sock, (struct sockaddr*)&addr, sizeof(addr)) == -1)
return -1;
return 0; return 0;
} }

View File

@ -121,10 +121,9 @@ int receivepacket(IP_Port * ip_port, uint8_t * data, uint32_t * length);
ip must be in network order EX: 127.0.0.1 = (7F000001) ip must be in network order EX: 127.0.0.1 = (7F000001)
port is in host byte order (this means don't worry about it) port is in host byte order (this means don't worry about it)
returns 0 if no problems returns 0 if no problems
TODO: add something to check if there are errors */ returns -1 if there were problems */
int init_networking(IP ip ,uint16_t port); int init_networking(IP ip ,uint16_t port);
/* function to cleanup networking stuff(doesn't do much right now) */ /* function to cleanup networking stuff(doesn't do much right now) */
void shutdown_networking(); void shutdown_networking();