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
/* run this at startup */
void initMessenger()
int initMessenger()
{
new_keys();
m_set_userstatus((uint8_t*)"Online", sizeof("Online"));
initNetCrypto();
IP ip;
ip.i = 0;
init_networking(ip, PORT);
if(init_networking(ip,PORT) == -1)
return -1;
return 0;
}
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 */
void m_callback_userstatus(void (*function)(int, uint8_t *, uint16_t));
/* run this at startup */
void initMessenger();
/* run this at startup
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 */

View File

@ -101,8 +101,8 @@ int receivepacket(IP_Port * ip_port, uint8_t * data, uint32_t * length)
bind to ip and port
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)
returns 0 if no problems
TODO: add something to check if there are errors */
returns 0 if no problems
returns -1 if there are problems */
int init_networking(IP ip ,uint16_t port)
{
#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 */
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;
}

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)
port is in host byte order (this means don't worry about it)
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);
/* function to cleanup networking stuff(doesn't do much right now) */
void shutdown_networking();