From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a4a47df08547ee16,start X-Google-Attributes: gid103376,public From: jerry@jvdsys.stuyts.nl (Jerry van Dijk) Subject: Re: Strange problem Date: 1999/12/30 Message-ID: <946581540.11snx@jvdsys.stuyts.nl>#1/1 X-Deja-AN: 566591743 Distribution: world References: Organization: JerryWare Reply-To: jerry@jvdsys.stuyts.nl Newsgroups: comp.lang.ada Date: 1999-12-30T00:00:00+00:00 List-Id: In article jankr@nntp.ifi.uio.no writes: >Why use words when you got code: Ok. :-) C: #include void c_func (char *s, size_t len) { printf ("String: %s\n", s); printf ("Lenght: %d\n", len); } Ada: with Interfaces.C.Strings; procedure Demo is package C renames Interfaces.C; package CS renames Interfaces.C.Strings; procedure C_Func (s : CS.chars_ptr; len : C.size_t); pragma Import (C, C_Func, "c_func"); Test_String : constant String := "Hello, world!"; Str_Len : C.size_t := 0; Str_Ptr : CS.chars_ptr := CS.Null_Ptr; begin Str_Ptr := CS.New_String (Test_String); Str_Len := CS.Strlen (Str_Ptr); C_Func (Str_Ptr, Str_Len); CS.Free (Str_Ptr); end Demo; -- -- Jerry van Dijk | email: jdijk@acm.org -- Team-Ada | www: stad.dsl.nl/~jvandyk -- Paris, France | Leiden, Holland