comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Pointer
Date: Mon, 19 May 2008 11:54:41 +0200
Date: 2008-05-19T11:54:41+02:00	[thread overview]
Message-ID: <1pfy7bkfums7b$.1fdbqta6azfhw$.dlg@40tude.net> (raw)
In-Reply-To: 2rjq6ys3fang$.1ir8q3892mjwo$.dlg@40tude.net

On Mon, 19 May 2008 11:53:11 +0200, Dmitry A. Kazakov wrote:

> On Mon, 19 May 2008 09:38:08 +0000, S�bastien wrote:
> 
>> I'm getting from a C interfaces a char**data in a System.Address. I have 
>> the following hypothesis:
>> - data is an array of n elements where n is known
>> - There is no memory issue (meaning data[i] with i < n is allocated)
>> - I do not have to free the memory (memory is managed by the C library)
>> 
>> How can I retrieve all my values in the C arrays using a loop to create 
>> some Ada String (Interfaces.C.Strings.Value)?
> 
> Suggesting, n is returned from the C program:
> 
> with Interfaces.C;  use Interfaces.C;
> with Interfaces.C.Strings;  use Interfaces.C.Strings;
> 
> function Get_It return String is
>    procedure Internal (N : out size_t; Data : out chars_ptr);
>    pragma Import (C, Internal, "<C-name>");
>    Data : chars_ptr;
>    N : size_t;
> begin
>    Internal (Data);

Internal (N, Data);  -- Of course

>    return Value (N, Data);
> end Get_It;


-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2008-05-19  9:54 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-19  9:38 Pointer Sébastien
2008-05-19  9:53 ` Pointer Dmitry A. Kazakov
2008-05-19  9:54   ` Dmitry A. Kazakov [this message]
2008-05-19 10:13   ` Pointer Sébastien
2008-05-19 10:32     ` Pointer Dmitry A. Kazakov
2008-05-19 10:34     ` Pointer Ludovic Brenta
2008-05-19 11:31       ` Pointer Sébastien
2008-05-19 12:09         ` Pointer Ludovic Brenta
2008-05-19 12:09         ` Pointer Dmitry A. Kazakov
2008-05-19 12:47           ` Pointer Sébastien
2008-05-19 16:25         ` Pointer Matthew Heaney
2008-05-19 16:22     ` Pointer Matthew Heaney
2008-05-19 16:17 ` Pointer Matthew Heaney
2008-05-19 17:23   ` Pointer Sébastien
  -- strict thread matches above, loose matches on Subject: below --
2005-08-31 17:02 pointer TC
2005-08-31 18:40 ` pointer Martin Krischik
2005-08-31 18:52 ` pointer Jeffrey Carter
replies disabled

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