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]>

Reply via email to