[comp.lang.c] problem w/ DEC C 2.3 and INGRES 5.0/05

chapman@lll-lcc.aRpA (Carol Chapman) (05/25/88)

I don't normally read this newsgroup, so please reply by email.  I
hope this is the right forum for mentioning this problem.

I have a rather large code that works correctly using DEC VAX C ver.
2.1 and EQUEL/C (INGRES) ver. 5.0/05.  We recently put the new DEC VAX
C ver. 2.3 on our computer and my code has gone bonkers.  Has anyone
else seen this problem, or can anyone suggest a solution?

I have a globally defined structure (A) with another structure (B)
nested inside it.  The outer structure (A) is defined using EQUEL/C
which means that each line begins with ##.  The inner structure does
not require the use of INGRES, so it has no ## in front of it or its
fields.  One of those fields is declared to be of type char.

Two functions are involved.  Function 1 calls function 2.  Function 2
assigns a value to the char field of structure B.  I think it's also 
important to mention 
that function 2 does an INGRES retrieve, and that the code that
assigns the value to the char field is within the brackets following
the retrieve.  Using the debugger, I see that the value is correct in 
the char field throughout function 2.  Function 2 returns to function1
when it is done, and at that moment (after the return) I detect
garbage in the previously mentioned character field.  The INGRES
preprocessor has inserted code into my function 2, so I can use the
debugger to see a routine called IIrtE2 right before function2 returns
to function1 (if that's any help!).

All ideas are welcome!

carol chapman  (chapman@lll-lcc.llnl.gov)



-- 
-------------------------------------------------------------------------------
Livermore Lab            (chapman@lll-crg.llnl.gov or chapman@lll-lcc.llnl.gov)
P.O. Box 808, L-153      Tel. (415) 423-7876
Livermore, CA  94550     "Never own anything that you have to FEED or PAINT."