Possible poplong bug in 4GL 7.32.FC2 on True64 V5.1 2650 alpha
Posted in 2004
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?