ncurses 5.7 - patch 20101127
[ncurses.git] / Ada95 / src / terminal_interface-curses-forms-field_types-user.adb
index 6e348b93dd2b34e1ae3c03bb98b10d57283ccfe5..695f919719326e635332cff14d4dad845746e361 100644 (file)
@@ -7,7 +7,7 @@
 --                                 B O D Y                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
+-- Copyright (c) 1998-2008,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            --
 ------------------------------------------------------------------------------
 --  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.10 $
+--  $Revision: 1.16 $
+--  $Date: 2009/12/26 17:38:58 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with Ada.Unchecked_Conversion;
-with Interfaces.C;
 with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
 
 package body Terminal_Interface.Curses.Forms.Field_Types.User is
 
-   use type Interfaces.C.int;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in User_Defined_Field_Type)
+   procedure Set_Field_Type (Fld : Field;
+                             Typ : User_Defined_Field_Type)
    is
       function Allocate_Arg (T : User_Defined_Field_Type'Class)
                              return Argument_Access;
@@ -63,7 +61,8 @@ package body Terminal_Interface.Curses.Forms.Field_Types.User is
       function Allocate_Arg (T : User_Defined_Field_Type'Class)
                              return Argument_Access
       is
-         Ptr : Field_Type_Access := new User_Defined_Field_Type'Class'(T);
+         Ptr : constant Field_Type_Access
+             := new User_Defined_Field_Type'Class'(T);
       begin
          return new Argument'(Usr => System.Null_Address,
                               Typ => Ptr,
@@ -77,14 +76,16 @@ package body Terminal_Interface.Curses.Forms.Field_Types.User is
       end if;
    end Set_Field_Type;
 
+   pragma Warnings (Off);
    function To_Argument_Access is new Ada.Unchecked_Conversion
      (System.Address, Argument_Access);
+   pragma Warnings (On);
 
    function Generic_Field_Check (Fld : Field;
                                  Usr : System.Address) return C_Int
    is
       Result : Boolean;
-      Udf    : User_Defined_Field_Type_Access :=
+      Udf    : constant User_Defined_Field_Type_Access :=
         User_Defined_Field_Type_Access (To_Argument_Access (Usr).Typ);
    begin
       Result := Field_Check (Fld, Udf.all);
@@ -95,7 +96,7 @@ package body Terminal_Interface.Curses.Forms.Field_Types.User is
                                 Usr : System.Address) return C_Int
    is
       Result : Boolean;
-      Udf    : User_Defined_Field_Type_Access :=
+      Udf    : constant User_Defined_Field_Type_Access :=
         User_Defined_Field_Type_Access (To_Argument_Access (Usr).Typ);
    begin
       Result := Character_Check (Character'Val (Ch), Udf.all);