aboutsummaryrefslogtreecommitdiff
path: root/redist
diff options
context:
space:
mode:
authorDr. Orion Lawlor <lawlor@alaska.edu>2017-04-17 21:38:46 -0800
committerDr. Orion Lawlor <lawlor@alaska.edu>2017-04-17 21:38:46 -0800
commit06f580d722136051c55653f6767f185b396f3371 (patch)
tree693507ec399449049d33ad367002910b16db05d2 /redist
parent9b1309c6dd9b38502b04d6bedb64f57acc7341e8 (diff)
downloadlibsurvive-06f580d722136051c55653f6767f185b396f3371.tar.gz
libsurvive-06f580d722136051c55653f6767f185b396f3371.tar.bz2
Support calling the library from C++, by adding extern "C" decorations, and including correct prototypes.
Diffstat (limited to 'redist')
-rw-r--r--redist/os_generic.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/redist/os_generic.c b/redist/os_generic.c
index 1ab4863..3191357 100644
--- a/redist/os_generic.c
+++ b/redist/os_generic.c
@@ -151,8 +151,9 @@ void OGDeleteSema( og_sema_t os )
#else
-#define _GNU_SOURCE
-
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
#include <sys/stat.h>
#include <stdlib.h>
@@ -198,7 +199,7 @@ double OGGetFileTime( const char * file )
og_thread_t OGCreateThread( void * (routine)( void * ), void * parameter )
{
- pthread_t * ret = malloc( sizeof( pthread_t ) );
+ pthread_t * ret = (pthread_t *)malloc( sizeof( pthread_t ) );
int r = pthread_create( ret, 0, routine, parameter );
if( r )
{
@@ -277,7 +278,7 @@ void OGDeleteMutex( og_mutex_t om )
og_sema_t OGCreateSema()
{
- sem_t * sem = malloc( sizeof( sem_t ) );
+ sem_t * sem = (sem_t *)malloc( sizeof( sem_t ) );
sem_init( sem, 0, 0 );
return (og_sema_t)sem;
}
@@ -285,24 +286,24 @@ og_sema_t OGCreateSema()
int OGGetSema( og_sema_t os )
{
int valp;
- sem_getvalue( os, &valp );
+ sem_getvalue( (sem_t *)os, &valp );
return valp;
}
void OGLockSema( og_sema_t os )
{
- sem_wait( os );
+ sem_wait( (sem_t *)os );
}
void OGUnlockSema( og_sema_t os )
{
- sem_post( os );
+ sem_post( (sem_t *)os );
}
void OGDeleteSema( og_sema_t os )
{
- sem_destroy( os );
+ sem_destroy( (sem_t *)os );
free(os);
}