In amongst all the unused parameter warnings, gcc throws up these two for key.c:
key.c: In function `key_element_value_s': key.c:275: warning: passing arg 2 of `find_bucket' from incompatible pointer type key.c: In function `key_set_element_value_s': key.c:339: warning: assignment from incompatible pointer type The corresponding lines are: pair = find_bucket(interpreter,key->keys[hash].cache.struct_val,idx); and: key->keys[hash].cache.struct_val = bucket; In the first case, we're passing a STRING* value to a function that's expecting a BUCKET*; in the second, trying to fit a BUCKET* into a STRING*. This doesn't seem right, but I have to confess my C's not really up to figuring out what's supposed to be going on here. Can anyone shed some light? Simon