X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fada%2Fterminal_interface-curses-trace__adb.htm;h=6a500c1a43970aee0a774fc2d9bd961975f01fa4;hp=04dae6b930606ab6380b84828848536f26d069f4;hb=77afe78361875f531dc2bf8d73f2e781c8e76176;hpb=55ccd2b959766810cf7db8d1c4462f338ce0afc8
diff --git a/doc/html/ada/terminal_interface-curses-trace__adb.htm b/doc/html/ada/terminal_interface-curses-trace__adb.htm
index 04dae6b9..6a500c1a 100644
--- a/doc/html/ada/terminal_interface-curses-trace__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-trace__adb.htm
@@ -12,7 +12,7 @@
-- B O D Y --
-- --
------------------------------------------------------------------------------
--- Copyright (c) 2000,2004 Free Software Foundation, Inc. --
+-- Copyright (c) 2000-2004,2009 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- copy of this software and associated documentation files (the --
@@ -40,21 +40,44 @@
------------------------------------------------------------------------------
-- Author: Juergen Pfeifer, 1996
-- Version Control:
--- @Revision: 1.5 @
+-- @Revision: 1.6 @
-- Binding Version 01.00
------------------------------------------------------------------------------
+with Interfaces.C; use Interfaces.C;
+with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
+with Ada.Unchecked_Conversion;
-package body Terminal_Interface.Curses.Trace is
+package body Terminal_Interface.Curses.Trace is
- procedure Trace_On (x : Trace_Attribute_Set) is
+ type C_TraceType is new C_UInt;
+
+ function TraceAda_To_TraceC is new
+ Ada.Unchecked_Conversion (Source => Trace_Attribute_Set,
+ Target => C_TraceType);
+
+ procedure Trace_On (x : Trace_Attribute_Set) is
+ procedure traceC (y : C_TraceType);
+ pragma Import (C, traceC, "trace");
begin
- null;
+ traceC (TraceAda_To_TraceC (x));
end Trace_On;
- procedure Trace_Put (str : String) is
+ -- 75. (12) A C function that takes a variable number of arguments can
+ -- correspond to several Ada subprograms, taking various specific
+ -- numbers and types of parameters.
+
+ procedure Trace_Put (str : String) is
+ procedure tracef (format : char_array; s : char_array);
+ pragma Import (C, tracef, "_tracef");
+ Txt : char_array (0 .. str'Length);
+ Length : size_t;
+ formatstr : constant String := "%s" & ASCII.NUL;
+ formattxt : char_array (0 .. formatstr'Length);
begin
- null;
+ To_C (formatstr, formattxt, Length);
+ To_C (str, Txt, Length);
+ tracef (formattxt, Txt);
end Trace_Put;
-end Terminal_Interface.Curses.Trace;
+end Terminal_Interface.Curses.Trace;