SLINGER & DS issue still not resolved

There were 2 threads of conversation started on this issue both ending with
no resolution. Please review Rob Ahlers last posting on 9/20/2001 subject
“Re: Reposting: QNX6.1 Cross Development Kit- slinger & ds problem” (Thread
started again 9/13/2001)and the other original thread started on 8/28/2001.

Is this a QNX issue or are we just a bunch of babbling buffoons down here at
GE.

We would like this resolved. Thanks in advance for not dropping this again.

Dennis Morehart
GE
Industrial Systems
Salem, Va.
(540) 387-8787

Dennis Morehart <demorehart@earthlink.net> wrote:

We would like this resolved. Thanks in advance for not dropping this again.

From the 2 repreted post, we couldn’t recreate the slinger problem. Using your
code HTML. Slinger can pull the value out of the ds. The issue
with 2 concurent connections to ds, has a work around as noted in those posts.

The null termination problem is being looked into currently. I think your best
route at this point, is to contact support with your plan ID if you require immediate
and formal attention in this matter.

-Adam

Dennis Morehart <demorehart@earthlink.net> wrote:

There were 2 threads of conversation started on this issue both ending with
no resolution. Please review Rob Ahlers last posting on 9/20/2001 subject
“Re: Reposting: QNX6.1 Cross Development Kit- slinger & ds problem” (Thread
started again 9/13/2001)and the other original thread started on 8/28/2001.

I did notice a bug in your code earlier on:

if (strlen (value)) // Set the variable
{
if ((ds_set( data_server, varname, value, strlen(value))) == -1)
{
if (!quiet)
printf ("\nUnable to set data server name %s. Error: %s\n", varname, strerror(errno));
exit (-1);
}
if (verbose)
printf ("\nSet Variable %s to %s", varname, value);
}

Then length you are sending should be strlen(value)+1, as you’re not accounting for a null
terminated string. Exampe: The call strlen(“This is a test”) would return 14, when in
fact 15 char sized elements are required (one for the null). Thus when you’re setting the
variable you’re cutting off the null.

With your code (and that modification) I can have slinger reading a string from DS
(contents “Stuff is stuff is stuff”) and writing back to the same variable “Test,
this is a test” without problem. You C code, can also read back and write to the
same variable without a problem (except the issue with concurrent open connections to ds
which has the work around I posted earlier - this issue should be addressed in the
next release).

-Adam