summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--tsd.c8
2 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index db0d9ae..cba910e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Oct 15 14:05:01 1998 Ross Johnson <rpj@swan.canberra.edu.au>
+
+ * tsd.c (pthread_setspecific): Fix type declaration and cast.
+ (pthread_getspecific): Ditto.
+
Thu Oct 15 11:53:21 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* global.c (_pthread_tsd_key_table): Fix declaration.
diff --git a/tsd.c b/tsd.c
index 87a2268..691dca9 100644
--- a/tsd.c
+++ b/tsd.c
@@ -81,7 +81,7 @@ pthread_key_create(pthread_key_t *key, void (*destructor)(void *))
int
pthread_setspecific(pthread_key_t key, void *value)
{
- LPVOID keys;
+ void * keys[];
int inuse;
/* CRITICAL SECTION */
@@ -95,7 +95,7 @@ pthread_setspecific(pthread_key_t key, void *value)
if (! inuse)
return EINVAL;
- keys = TlsGetValue(_pthread_TSD_keys_TlsIndex);
+ keys = (void **) TlsGetValue(_pthread_TSD_keys_TlsIndex);
keys[key] = value;
return 0;
@@ -104,7 +104,7 @@ pthread_setspecific(pthread_key_t key, void *value)
void *
pthread_getspecific(pthread_key_t key)
{
- LPVOID keys;
+ void * keys[];
int inuse;
/* CRITICAL SECTION */
@@ -118,7 +118,7 @@ pthread_getspecific(pthread_key_t key)
if (! inuse)
return EINVAL;
- keys = TlsGetValue(_pthread_TSD_keys_TlsIndex);
+ keys = (void **) TlsGetValue(_pthread_TSD_keys_TlsIndex);
return keys[key];
}