Null characters (& string implementation) in gpc
Bastiaan Veelo
Bastiaan at Veelo.net
Fri Sep 3 20:23:54 CEST 2010
What do you mean by mapping, what role does C/C++ play in your case?
Are you saying that the message is constructed in Pascal and read in C?
In that case the termination at 0 is no surprise.
Bastiaan.
On 03.09.2010 17:23, Morton, John wrote:
>
> We have encountered an unexpected implementation issue with gpc, one
> that probably affects all languages implemented using C/C++: The
> mapping of Pascal writeln (etc.) statements to "equivalent" C/C++
> string handling code.
>
> We have not found a pure (Pascal-only) way to use gpc writeln (etc.)
> statements to send strings that must include null characters (in our
> case as part of a 4 byte binary time). The problem is that the
> implementation of the mapped C/C++ function prematurely terminates a
> message at the null, preventing the message from being transmitted
> properly.
>
> The impact on us is that whenever any byte of the time rolls over a
> service outage results - with the length of the outage depending upon
> which byte rolls over. We have since kluged a way around the issue
> but would much prefer a pure Pascal (=portable) solution.
>
> In our case the message must be sent as one complete entity, meaning
> separating the string into multiple "writeln" statements is not
> possible. (This would be an awkward approach if/when (multiple) nulls
> can appear anywhere in the string).
>
> Stated more generally, is there a pure gpc Pascal way to send
> ("writeln") strings that can contain any/all of the 256 8 bit
> characters (especially the null) - an approach that does not require
> retyping our string definitions?
>
> Any ideas out there about how to do this?
>
> Thanks.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.g-n-u.de/pipermail/gpc/attachments/20100903/288a2016/attachment.htm>
More information about the Gpc
mailing list