comp.lang.ada
 help / color / mirror / Atom feed
From: "Hibou57 (Yannick Duchêne)" <yannick_duchene@yahoo.fr>
Subject: Re: Converting pointers to non nul-terminated C "strings" to Ada string
Date: Sat, 14 Feb 2009 01:27:15 -0800 (PST)
Date: 2009-02-14T01:27:15-08:00	[thread overview]
Message-ID: <6334ebd3-ca8d-4f1c-b96a-b49c20650d31@v15g2000yqn.googlegroups.com> (raw)
In-Reply-To: df6e5b77-2d9f-4428-9e34-5f63bea39816@u13g2000yqg.googlegroups.com



xorquew...@googlemail.com a écrit :
> Hello.
Hi, :-)

A dirty thing which comes into my mind : when you write

procedure memory_data
      (data   : out CS.chars_ptr;
       size   : out C.int);

you may doing some assumption about the the compiler's generated code.
In my humble opinion, pointers in C declarations should be mapped to
access types in Ada. There is nothing I know which assert that an Ada
implementation must use access types to implement out parameters.

> ... results in a String as long as the position of the first nul in
> the
> C string (the position is inevitably less than the length of the
> string).
 > Is it possible to properly convert unterminated C strings or do I
> need to start messing about with raw System.Address types?

If the returned string may have null characters before its last index,
this means it is a string which contains null characters as its
character datas, so it is not C string.

By the way, what does the null character stands for within these
strings ? Is it interpreted as a graphical character or as command
character ? What is supposed to be the string encoding ? ANSI ?
Windows CP ? UTF-8 ?

To know how to properly handle this, the first requirements is to
exactly know what does datas stands for.

Have a nice sunday

Y.D.



  parent reply	other threads:[~2009-02-14  9:27 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-14  6:58 Converting pointers to non nul-terminated C "strings" to Ada string xorquewasp
2009-02-14  9:26 ` Dmitry A. Kazakov
2009-02-14 10:38   ` xorquewasp
2009-02-14 11:16     ` Dmitry A. Kazakov
2009-02-14 11:37       ` xorquewasp
2009-02-14  9:27 ` Hibou57 (Yannick Duchêne) [this message]
2009-02-14 10:41   ` xorquewasp
2009-02-15 17:44     ` Georg Bauhaus
2009-02-14 11:47   ` Jacob Sparre Andersen
2009-02-14 14:25     ` Hibou57 (Yannick Duchêne)
2009-02-14  9:28 ` sjw
2009-02-14  9:33 ` likai3g
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox