File fix-gcc15.patch of Package voxelands
diff --git a/src/thread.c b/src/thread.c
index bb8d8cc..cd645fa 100644
--- a/src/thread.c
+++ b/src/thread.c
@@ -65,12 +65,12 @@ int thread_is_main()
}
/* create a new thread */
-thread_t *thread_create(void *(*func)(), array_t *args)
+thread_t *thread_create(void *(*func)(thread_t *), array_t *args)
{
thread_t *t = malloc(sizeof(thread_t));
t->state = IO_THREAD_RUNNING;
- t->func = func;
+ t->func = (void * (*)(void *))func;
t->args = args;
t->exit = 0;
diff --git a/src/thread.h b/src/thread.h
index a38bb2e..64d4a77 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -36,7 +36,7 @@ typedef struct thread_s {
#endif
unsigned int state;
int exit;
- void *(*func)();
+ void *(*func)(void *);
array_t *args;
} thread_t;
#endif
@@ -61,7 +61,7 @@ typedef struct mutex_s {
int thread_init(void);
int thread_equal(threadid_t t1, threadid_t t2);
int thread_is_main(void);
-thread_t *thread_create(void *(*func)(), array_t *args);
+thread_t *thread_create(void *(*func)(thread_t *), array_t *args);
void thread_free(thread_t *t);
void thread_exit(thread_t *t, int state);
void thread_stop(thread_t *t);