summaryrefslogtreecommitdiffstats
path: root/c/src/ada
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-02-01 22:48:17 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-02-01 22:48:17 +0000
commit207b35efef0005db68e2326290fdae116b4ca4e4 (patch)
tree3cba91715e981bb6d6394ea595bed01253fd3352 /c/src/ada
parent2008-02-01 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-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.
Diffstat (limited to 'c/src/ada')
-rw-r--r--c/src/ada/ChangeLog5
-rw-r--r--c/src/ada/rtems.adb16
-rw-r--r--c/src/ada/rtems.ads1
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
);