Re: Possible poplong bug in 4GL 7.32.FC2 on True64 V5.1 2650 alpha
Posted in 2004
J?rg Spilker wrote: > Hello, > > i'm confused. We recently changed our environment from True64 V4.0 > 1229 alpha to V5.1 2650 alpha and also our 4GL developement tools from > 7.20.UE3 to 7.32.FC2 (and also Dynamic server from 7.x to 9.x). > > We're using 4GL code calling C Functions. The 4GL Code puts a variable > of type INTEGER on the stack, the C code uses poplong(&l_long) to get > it. This was working with 7.20.UE3. However compiling the code with > 7.32.FC2 give some strange results. Putting an INTEGER value of 1 on > the stack gives a ridiculios high value in l_long. According to the > documenation, putting arguments in 4GL on the stack includes the > datatype and the pop functions can use the type to make any necessary > conversions. > > I change all the longs in the C code to int and popint and now it is > working also with 7.32.FC2 (not yet tested if it is working with > 7.20.EU3). > > Can anyone explain what happens here? 7.32 supports INT8. Maybe that's the problem... Check the mapping of C to 4GL datatypes in your documentation. Regards.