X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fsharedmemory.c;h=c2b703ab5ba0697d13a7f7ffe5d0cefc661f0014;hb=1bab3b2b671edd8ada2c42ba662782ce81ca3215;hp=b4bfee58604de774280b083dfcdf32c5259c0470;hpb=60b0fbf1b141566fd5f559c1d7db2317676a3be4;p=umurmur.git diff --git a/src/sharedmemory.c b/src/sharedmemory.c index b4bfee5..c2b703a 100644 --- a/src/sharedmemory.c +++ b/src/sharedmemory.c @@ -1,5 +1,8 @@ #include "sharedmemory.h" -#include "sharedmemory_global.h" + +int shm_fd; +shm_t *shmptr = NULL; +char shm_file_name[128]; void Sharedmemory_init( int bindport, int bindport6 ) { @@ -19,20 +22,20 @@ void Sharedmemory_init( int bindport, int bindport6 ) if(shm_fd == -1) { Log_fatal( "SHM_API: Open failed:%s\n", strerror(errno)); - exit(1); + exit(EXIT_FAILURE); } if( ftruncate( shm_fd, shmtotal_size ) == -1 ) { Log_fatal( "SHM_API: ftruncate : %s\n", strerror(errno)); - exit(1); + exit(EXIT_FAILURE); } - shmptr = mmap(0, shmtotal_size, PROT_READ | PROT_WRITE, MAP_SHARED, shm_fd, 0); - if (shmptr == (void *) -1) + shmptr = mmap( 0, shmtotal_size, PROT_READ | PROT_WRITE, MAP_SHARED, shm_fd, 0 ); + if (shmptr == MAP_FAILED) { Log_fatal( "SHM_API: mmap failed : %s\n", strerror(errno)); - exit(1); + exit(EXIT_FAILURE); } memset( shmptr, 0, shmtotal_size ); @@ -64,7 +67,7 @@ void Sharedmemory_update(void) channel_t *channel = client_itr->channel; strncpy( shmptr->client[cc].username, client_itr->username, 120 ); - strncpy( shmptr->client[cc].ipaddress, Util_clientAddressToString( client_itr ), 45 ); + strncpy( shmptr->client[cc].ipaddress, Util_clientAddressToString( client_itr ), INET6_ADDRSTRLEN - 1 ); strncpy( shmptr->client[cc].channel, channel->name, 120 ); strncpy( shmptr->client[cc].os, client_itr->os, 120 ); @@ -114,4 +117,4 @@ void Sharedmemory_deinit(void) close( shm_fd ); shm_unlink( shm_file_name ); shmptr->umurmurd_pid = 0; -} \ No newline at end of file +}