Our Support person, the dealer we perchased hasn't had time to post any
of our problems to his account with Unify so I was wondering if anyone
else has run into any of this.

I have a series of apps running on SCO Unixware 7.1 using Unify's HLI C
interface and we're migrating all of that to a Red Hat Rel 4 Linux
distribution. Our Unify ELS is the latest version without imbedded
SQL, but I'm at home and our Net connection was down today so the exact
version I don't have right now.

A few problems have occured, but from the HLI standpoint, I'm having a
real issue with the following.
1. valstr(char *, char **) Seg Faults.
2. The HLI reference book for extracting TEXT fields for editing with
an external editor extract apparently random characters, at least
nothing that matches the data.

1. Code snippet

static char *teststr[] = { "A ". "B ", "C ". "D " }; /*
strings to compare to (5 char field) */
char dbf_str[6]; /* vaiable to test against */

memset(dbf_str, ' ', 6); /* initializing character
array */
gfield (dbf, dbf_str); /* getting database value
into variable */
if (valstr(dbf_str, teststr) == 0) { /* meaning not
found */

Segmentation fault is on this line above. Any ideas would be greatly
appreciated


2. Following the example in appendix B. for the tutorial, neither
updates TEXT fields or correctly
extracts data from a database, where data has been copied from a
working database on SCO
I'm using the vim editor and fldesc for that field correctly
indicates on a filled TEXT field as having
a length of 11, but the data is pretty much binary all over the
place with no correlation to the
original text, other than the length is correct. I do believe the
screen field output function does
show the text information on an form screen correctly. I just
can't extract the data for editing.

The above two items did work correctly under SCO. I replaced the
valstr function with a lot of scomp() functions testing each string and
that seemed to work, but so should the valstr function. The other
function is down to the gfield() function called as gfield (txtfield,
(char *) 0, field_des struct); as in the example and I do get the right
number of characters returned, they're just wrong.

Any ideas would be very greatly appreciated.

Doug Dahlke
dfdahlke@shieldsbag.com