From 207b35efef0005db68e2326290fdae116b4ca4e4 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 1 Feb 2008 22:48:17 +0000 Subject: 2008-02-01 Joel Sherrill * rtems.adb, rtems.ads: Object_Get_Name now has a proper implementation thanks to a binding tip from Laurent Guerby. --- c/src/ada/ChangeLog | 5 +++++ c/src/ada/rtems.adb | 16 ++++++++-------- c/src/ada/rtems.ads | 1 - 3 files changed, 13 insertions(+), 9 deletions(-) (limited to 'c/src/ada') diff --git a/c/src/ada/ChangeLog b/c/src/ada/ChangeLog index 47a1af6c10..ef66546b05 100644 --- a/c/src/ada/ChangeLog +++ b/c/src/ada/ChangeLog @@ -1,3 +1,8 @@ +2008-02-01 Joel Sherrill + + * rtems.adb, rtems.ads: Object_Get_Name now has a proper implementation + thanks to a binding tip from Laurent Guerby. + 2008-02-01 Joel Sherrill * rtems.adb, rtems.ads: Add Ada binding for Object Services. diff --git a/c/src/ada/rtems.adb b/c/src/ada/rtems.adb index 484f170ee2..35882c651c 100644 --- a/c/src/ada/rtems.adb +++ b/c/src/ada/rtems.adb @@ -2004,7 +2004,6 @@ package body RTEMS is (C, Object_Get_Classic_Name_Base, "rtems_object_get_classic_name"); Tmp_Name : aliased RTEMS.Name; begin - -- TBD Result := Object_Get_Classic_Name_Base (ID, Tmp_Name'Access); Name := Tmp_Name; end Object_Get_Classic_Name; @@ -2012,21 +2011,22 @@ package body RTEMS is procedure Object_Get_Name( ID : in RTEMS.ID; - Length : in RTEMS.Unsigned32; Name : out String; Result : out RTEMS.Status_Codes ) is function Object_Get_Name_Base ( ID : RTEMS.ID; - -- Length : RTEMS.Unsigned32: - -- Name : chars_ptr; - Length : RTEMS.Unsigned32 + Length : RTEMS.Unsigned32; + Name : System.Address ) return RTEMS.Status_Codes; pragma Import (C, Object_Get_Name_Base, "rtems_object_get_name"); begin - -- TBD - Name := ""; - Result := Object_Get_Name_Base (Id, Length); + Name := (others => ASCII.Nul); + Result := Object_Get_Name_Base ( + Id, + Name'Length, + Name(Name'First)'Address + ); end Object_Get_Name; procedure Object_Set_Name( diff --git a/c/src/ada/rtems.ads b/c/src/ada/rtems.ads index 7a995ae093..7fa16eb25e 100644 --- a/c/src/ada/rtems.ads +++ b/c/src/ada/rtems.ads @@ -1279,7 +1279,6 @@ pragma Elaborate_Body (RTEMS); procedure Object_Get_Name( ID : in RTEMS.ID; - Length : in RTEMS.Unsigned32; Name : out String; Result : out RTEMS.Status_Codes ); -- cgit v1.2.3