Re: C chars_ptr STORAGE_ERROR in Imported function
- From: Kim Rostgaard Christensen <krc@xxxxxxxxxx>
- Date: Fri, 22 Aug 2008 11:55:37 +0200
Niklas Holsti wrote:
Kim Rostgaard Christensen wrote:Hello there...
I am in progress of binding the pcap c library to ada, it is a part of a
school project. And for that i need a funtion that modifies a parameter to a function like so:
char *pcap_lookupdev(char *);
Do I need to declare the buffer and then then pass its c pointer to the function?
That is certainly my interpretation of the "man" text:
char *pcap_lookupdev(char *errbuf)
pcap_lookupdev() returns a pointer to a network device
suitable for use with pcap_open_live() and pcap_lookupnet().
If there is an error, NULL is returned and errbuf is filled
in with an appropriate error message.
There is no hint that pcap_lookupdev() itself allocates the errbuf; it just puts something in the caller-provided errbuf. And no doubt places a NUL terminator after the message.
HTH
the following gives me
*** glibc detected *** double free or corruption (out): 0x0804d830 ***
raised PROGRAM_ERROR : unhandled signal
procedure Lookup_Device is
function pcap_lookupdev(ebuff : Interfaces.C.Strings.Chars_Ptr) return Interfaces.C.Strings.Chars_Ptr;
pragma Import (C, pcap_lookupdev, "pcap_lookupdev");
Device : Interfaces.C.Strings.Chars_Ptr;
Errbuf_ptr : Interfaces.C.Strings.Chars_Ptr;
Errbuf : Char_Array(1 .. 256); -- the defined buffer size
begin
Errbuf_Ptr := New_Char_Array(Errbuf);
Device := pcap_lookupdev(Errbuf_ptr);
Ada.Text_IO.Put_Line(Value(Device));
end Lookup_Device;
.
- Follow-Ups:
- Re: C chars_ptr STORAGE_ERROR in Imported function
- From: Niklas Holsti
- Re: C chars_ptr STORAGE_ERROR in Imported function
- References:
- C chars_ptr STORAGE_ERROR in Imported function
- From: Kim Rostgaard Christensen
- Re: C chars_ptr STORAGE_ERROR in Imported function
- From: Niklas Holsti
- C chars_ptr STORAGE_ERROR in Imported function
- Prev by Date: Re: GTK Build from source
- Next by Date: Re: Status of ayacc and aflex?
- Previous by thread: Re: C chars_ptr STORAGE_ERROR in Imported function
- Next by thread: Re: C chars_ptr STORAGE_ERROR in Imported function
- Index(es):
Relevant Pages
|