Index: embed.c =================================================================== RCS file: /home/perlcvs/parrot/embed.c,v retrieving revision 1.10 diff -u -r1.10 embed.c --- embed.c 15 Feb 2002 02:30:02 -0000 1.10 +++ embed.c 16 Feb 2002 11:21:17 -0000 @@ -129,7 +129,7 @@
pf = PackFile_new(); - if(!PackFile_unpack(interpreter, pf, program_code, (unsigned)program_size) ) { + if(!PackFile_unpack(interpreter, pf, (opcode_t *)program_code, +(size_t)program_size) ) { fprintf(stderr, "Parrot VM: Can't unpack packfile %s.\n", filename); return NULL; } Index: jit.c =================================================================== RCS file: /home/perlcvs/parrot/jit.c,v retrieving revision 1.12 diff -u -r1.12 jit.c --- jit.c 29 Jan 2002 14:05:31 -0000 1.12 +++ jit.c 16 Feb 2002 11:21:21 -0000 @@ -214,7 +214,7 @@ address = (INTVAL *)&s->strlen; break; case 6: - address = (INTVAL *)s->encoding; + address = (INTVAL *)&s->encoding; break; case 7: address = (INTVAL *)&s->type; Index: key.c =================================================================== RCS file: /home/perlcvs/parrot/key.c,v retrieving revision 1.19 diff -u -r1.19 key.c --- key.c 11 Feb 2002 17:59:11 -0000 1.19 +++ key.c 16 Feb 2002 11:21:21 -0000 @@ -183,7 +183,7 @@ 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 { Index: misc.c =================================================================== RCS file: /home/perlcvs/parrot/misc.c,v retrieving revision 1.11 diff -u -r1.11 misc.c --- misc.c 15 Feb 2002 02:30:02 -0000 1.11 +++ misc.c 16 Feb 2002 11:21:22 -0000 @@ -496,7 +496,7 @@ } -STRING *Parrot_vsprintf_c(struct Parrot_Interp * interpreter, char *pat, +STRING *Parrot_vsprintf_c(struct Parrot_Interp * interpreter, const char *pat, va_list * args) { STRING *realpat = @@ -545,7 +545,7 @@ return ret; } -STRING *Parrot_sprintf_c(struct Parrot_Interp * interpreter, char *pat, +STRING *Parrot_sprintf_c(struct Parrot_Interp * interpreter, const char *pat, ...) { STRING *ret; Index: string.c =================================================================== RCS file: /home/perlcvs/parrot/string.c,v retrieving revision 1.46 diff -u -r1.46 string.c --- string.c 5 Feb 2002 11:41:27 -0000 1.46 +++ string.c 16 Feb 2002 11:21:24 -0000 @@ -153,8 +153,8 @@ STRING *dest; CHARTYPE_TRANSCODER transcoder1 = NULL; CHARTYPE_TRANSCODER transcoder2 = NULL; - char *srcstart; - char *srcend; + const char *srcstart; + const char *srcend; char *deststart; char *destend; @@ -298,8 +298,8 @@ STRING* string_substr(struct Parrot_Interp *interpreter, const STRING* src, INTVAL offset, INTVAL length, STRING** d) { STRING *dest; - char *substart; - char *subend; + const char *substart; + const char *subend; UINTVAL true_offset; UINTVAL true_length; @@ -350,8 +350,8 @@ */ STRING* string_chopn(STRING* s, INTVAL n) { - char *bufstart = s->bufstart; - char *bufend = bufstart + s->bufused; + const char *bufstart = s->bufstart; + const char *bufend = bufstart + s->bufused; UINTVAL true_n; true_n = (UINTVAL) n; @@ -376,10 +376,10 @@ INTVAL string_compare(struct Parrot_Interp *interpreter, const STRING* s1, const STRING* s2) { - char *s1start; - char *s1end; - char *s2start; - char *s2end; + const char *s1start; + const char *s1end; + const char *s2start; + const char *s2end; INTVAL cmp = 0; if (s1 && !s2) { @@ -459,8 +459,8 @@ INTVAL i = 0; if (s) { - char *start = s->bufstart; - char *end = start + s->bufused; + const char *start = s->bufstart; + const char *end = start + s->bufused; int sign = 1; BOOLVAL in_number = 0; @@ -497,8 +497,8 @@ FLOATVAL f = 0.0; if (s) { - char *start = s->bufstart; - char *end = start + s->bufused; + const char *start = s->bufstart; + const char *end = start + s->bufused; int sign = 1; BOOLVAL seen_dot = 0; BOOLVAL seen_e = 0; Index: test_main.c =================================================================== RCS file: /home/perlcvs/parrot/test_main.c,v retrieving revision 1.44 diff -u -r1.44 test_main.c --- test_main.c 16 Feb 2002 09:20:43 -0000 1.44 +++ test_main.c 16 Feb 2002 11:21:25 -0000 @@ -14,6 +14,8 @@ #define setopt(flag) Parrot_setflag(interpreter, flag, (*argv)[0]+2); +extern void exit(int); + char * parseflags(Parrot interpreter, int *argc, char **argv[]); Index: classes/pmc2c.pl =================================================================== RCS file: /home/perlcvs/parrot/classes/pmc2c.pl,v retrieving revision 1.12 diff -u -r1.12 pmc2c.pl --- classes/pmc2c.pl 5 Feb 2002 21:02:50 -0000 1.12 +++ classes/pmc2c.pl 16 Feb 2002 11:21:26 -0000 @@ -160,6 +160,7 @@ my ($contents, $pmcfile, $cfile) = @_; my $lineno = 1; + $contents =~ s/^(.*?^\s*)pmclass ([\w]*)//ms; my ($pre, $classname) = ($1, $2); $lineno += count_newlines($1); @@ -211,6 +212,7 @@ $methodblock =~ s/SELF/pmc/g; $methodblock =~ s/INTERP/interpreter/g; + my $decl = "$type Parrot_${classname}_${methodname} (struct Parrot_Interp *interpreter, PMC* pmc$parameters)"; $OUT .= $decl; $HOUT .= "extern $decl;\n"; @@ -223,7 +225,7 @@ push @methods, $methodname; }; - @methods = map { "Parrot_$methodloc->{$_}_$_" } @{ $default{order} }; + @methods = map { "Parrot_$methodloc->{$_}_$_" } @{ $default{order} }; my $methodlist = join (",\n ", @methods); my $initname = "Parrot_$classname" . "_class_init"; Index: include/parrot/misc.h =================================================================== RCS file: /home/perlcvs/parrot/include/parrot/misc.h,v retrieving revision 1.2 diff -u -r1.2 misc.h --- include/parrot/misc.h 5 Feb 2002 10:04:10 -0000 1.2 +++ include/parrot/misc.h 16 Feb 2002 11:21:27 -0000 @@ -6,7 +6,7 @@ STRING* Parrot_vsprintf_s(struct Parrot_Interp *, STRING* pat, va_list *); -STRING* Parrot_vsprintf_c(struct Parrot_Interp *, char * pat, va_list *); +STRING* Parrot_vsprintf_c(struct Parrot_Interp *, const char * pat, va_list *); void Parrot_vsprintf(struct Parrot_Interp *, char *targ, char *pat, va_list *); @@ -14,7 +14,7 @@ STRING* Parrot_sprintf_s(struct Parrot_Interp *, STRING* pat, ...); -STRING* Parrot_sprintf_c(struct Parrot_Interp *, char * pat, ...); +STRING* Parrot_sprintf_c(struct Parrot_Interp *, const char * pat, ...); void Parrot_sprintf(struct Parrot_Interp *, char *targ, char *pat, ...); /J\ -- Jonathan Stowe | <http://www.gellyfish.com> | This space for rent |