lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


>From lua-l@tecgraf.puc-rio.br Wed Sep  1 17:49:28 1999
>From: Supratik Champati <champati@sofy.com>

>The reason is that initially ls->fs->f->consts is NULL.
>The call checkname(ls) in turn calls next_constant()
>which grows the array.

I think you're right. :-(
checkname(ls) changes ls->fs->f->consts and so the expression
  tsvalue(&ls->fs->f->consts[checkname(ls)]);
is undefined because of this side-effect.

It seems that all C compilers we tested (and everybody else!) only get
the value of ls->fs->f->consts *after* checkname returns.
Your compiler in HPUX (which is it?) seems to get the value of ls->fs->f->consts
*before* calling checkname, which I think it can, according to ANSI C rules.

We'll look into it and fix it if it's really wrong.
Thanks.
--lhf