diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-02-01 22:48:17 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-02-01 22:48:17 +0000 |
commit | 207b35efef0005db68e2326290fdae116b4ca4e4 (patch) | |
tree | 3cba91715e981bb6d6394ea595bed01253fd3352 | |
parent | 2008-02-01 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-207b35efef0005db68e2326290fdae116b4ca4e4.tar.bz2 |
2008-02-01 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems.adb, rtems.ads: Object_Get_Name now has a proper implementation
thanks to a binding tip from Laurent Guerby.
-rw-r--r-- | c/src/ada/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/ada/rtems.adb | 16 | ||||
-rw-r--r-- | c/src/ada/rtems.ads | 1 |
3 files changed, 13 insertions, 9 deletions
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,5 +1,10 @@ 2008-02-01 Joel Sherrill <joel.sherrill@oarcorp.com> + * 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 <joel.sherrill@oarcorp.com> + * rtems.adb, rtems.ads: Add Ada binding for Object Services. 2007-12-04 Joel Sherrill <joel.sherrill@oarcorp.com> 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 ); |