These are both warnings regarding using a STRING * to refer to a BUCKET *.
"key.c", line 275: warning: argument #2 is incompatible with prototype:
prototype: pointer to struct _bucket {struct _key_pair {..} pair, pointer to
struct {..} key, pointer to struct _bucket {..} next} : "key.c", line 65
argument : pointer to struct {pointer to void bufstart, unsigned long long
buflen, unsigned long long flags, unsigned long long bufused, unsigned long long
strlen, pointer to const struct {..} encoding, pointer to const struct {..} type,
long long language}
"key.c", line 339: warning: assignment type mismatch:
pointer to struct {pointer to void bufstart, unsigned long long buflen,
unsigned long long flags, unsigned long long bufused, unsigned long long strlen,
pointer to const struct {..} encoding, pointer to const struct {..} type, long long
language} "=" pointer to struct _bucket {struct _key_pair {..} pair, pointer to struct
{..} key, pointer to struct _bucket {..} next}
Here's the patch:
Index: key.c
===================================================================
RCS file: /home/perlcvs/parrot/key.c,v
retrieving revision 1.10
diff -u -r1.10 key.c
--- key.c 8 Jan 2002 20:05:18 -0000 1.10
+++ key.c 8 Jan 2002 22:14:34 -0000
@@ -272,7 +272,7 @@
if(idx != NULL) {
INTVAL hash = key_hash(interpreter,idx);
hash = hash % NUM_BUCKETS;
- pair =
find_bucket(interpreter,key->keys[hash].cache.struct_val,idx);
+ pair = find_bucket(interpreter,(BUCKET
*)key->keys[hash].cache.struct_val,idx);
if(pair == NULL) {
fprintf(stderr,"*** key_element_value_s pair returning a null
key\n");
}
@@ -336,7 +336,7 @@
}
else {
}
- key->keys[hash].cache.struct_val = bucket;
+ key->keys[hash].cache.struct_val = (STRING *)bucket;
key->keys[hash].type = enum_key_bucket;
}
else {
- D
<[EMAIL PROTECTED]>