diff --git a/src/program.c b/src/program.c index e0802d0933307537591d3e76e8431fab37d74755..4ee5eebf7fab7832171cdce6470f007a9db98fea 100644 --- a/src/program.c +++ b/src/program.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: program.c,v 1.217 2000/03/26 20:55:32 hubbe Exp $"); +RCSID("$Id: program.c,v 1.218 2000/03/29 04:56:22 hubbe Exp $"); #include "program.h" #include "object.h" #include "dynamic_buffer.h" @@ -2815,8 +2815,11 @@ void program_index_no_free(struct svalue *to, struct program *p, int get_small_number(char **q) { + /* This is a workaround for buggy cc & Tru64 */ int ret; - switch(ret=(*(signed char **)q)++[0]) + ret=*(signed char *)*q; + (*q)++; + switch(ret) { case -127: ret=EXTRACT_WORD((unsigned char*)*q);