Walter,

    Since I just finished pulling a pile of hair out on a similar, although not
identical, problem yesterday he might look to see if things are the same.  In
Pro*C we use a data type called a VARCHAR inside the Oracle declare section. 
Something like:

EXEC SQL BEGIN DECLARE SECTION;
         VARCHAR name[50];
EXEC SQL END DECLARE SECTION;

When you run it through the precompiler that changes to:

struct
{
  char arr[50];
  int len;
}name;

A common problem is to forget that 'name' actually has to be referenced as
'name.arr' in C.  My problem was:

    sprintf(msg, "%s\0", name);

Instead of

    sprintf(msg, "%s\0", name.arr);

Also Pro*C does NOT null terminate character strings when they are returned.  A
common thing to do is: name.arr[name.len] = '\0'.  Your friend may not have null
terminated things, although since it's an fgets() call it's probably not that.
Probably more like: 

    fgets(name, sizeof(name), fp);

Instead of:

    fgets(name.arr, sizeof(name.arr), fp);

Dick Goulet

____________________Reply Separator____________________
Author: "Kirsch; Walter J (Northrop Grumman)" <[EMAIL PROTECTED]>
Date:       12/13/2002 8:37 AM

>From a fellow employee of mine:

"I am in the process of upgrading from an Oracle 7.3.4 environment using
Pro*C and an HP 32-bit C Compiler  (version A.10.32) to an Oracle 8.1.7
64-bit environment using 64-bit Pro*C and a GNU (gcc) 64-bit C Compiler.
All software is on an HP UNIX version 11.00 box.

Specifically, during runtime I am experiencing a SEGMENTATION Fault on the
/usr/lib/libc.2 library when the program executes a fgets() C-statement.
" 

Is this obvious to the initiated?  Thanks for any help.

The only thing worse in the world than being talked about is not being
talked about. 
-- Oscar Wilde
 

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Kirsch, Walter J (Northrop Grumman)
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: 
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to