This is the key.c portion of Jonathan Stowe <[EMAIL PROTECTED]>'s patch
from <[EMAIL PROTECTED]>
Although there's more work being done on the key stuff and this isn't the
final fix, applying this patch does get parrot to build with two more
compilers, so it's probably worthwhile.
[josh-009.patch]
Index: key.c
===================================================================
RCS file: /home/perlcvs/parrot/key.c,v
retrieving revision 1.20
diff -u -r1.20 key.c
--- key.c 18 Feb 2002 08:26:03 -0000 1.20
+++ key.c 22 Feb 2002 01:01:11 -0000
@@ -180,10 +180,10 @@
return;
}
if(size > key->size) {
- KEY_PAIR* pair = (KEY_PAIR*)realloc(key->keys,sizeof(KEY_PAIR)*size);
+ KEY_PAIR* pair = (KEY_PAIR*)realloc(key->keys,sizeof(KEY_PAIR *)*size);
if(pair != NULL) {
INTVAL i;
- key->keys = pair;
+ key->keys = (KEY_PAIR **)pair;
for(i=key->size;i<size;i++) {
key->keys[i]->type = enum_key_undef;
}
@@ -197,7 +197,7 @@
for(i=size;i<key->size;i++) {
/* Memory leak in the making */
}
- key->keys = (KEY_PAIR*)realloc(key->keys,sizeof(KEY_PAIR)*size);
+ key->keys = (KEY_PAIR**)realloc(key->keys,sizeof(KEY_PAIR *)*size);
}
key->size = size;
}
@@ -241,7 +241,7 @@
if(key != NULL) {
if((idx >= 0) && (idx < key->size)) {
- KEY_PAIR* pair = &key->keys[idx];
+ KEY_PAIR* pair = (KEY_PAIR *)&key->keys[idx];
return pair->type;
}
else {
@@ -266,7 +266,7 @@
if(key != NULL) {
if((idx >= 0) && (idx < key->size)) {
- KEY_PAIR* pair = &key->keys[idx];
+ KEY_PAIR* pair = (KEY_PAIR *)&key->keys[idx];
if(pair != NULL) {
return pair;
}
@@ -388,7 +388,7 @@
if(key->size > 0) {
/* Memory leak in the making */
key->size--;
- key->keys = (KEY_PAIR*)realloc(key->keys,sizeof(KEY_PAIR)*key->size);
+ key->keys = (KEY_PAIR**)realloc(key->keys,sizeof(KEY_PAIR *)*key->size);
}
else if(key->size == 0) {
fprintf(stderr,
@@ -416,7 +416,7 @@
if(key != NULL) {
if((idx >= 0) && (idx < key->size)) {
- KEY_PAIR* pair = &key->keys[idx];
+ KEY_PAIR* pair = (KEY_PAIR *)&key->keys[idx];
pair->type++;
}
else {