aboutsummaryrefslogtreecommitdiff
path: root/Ada95/gen
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2011-04-30 10:59:17 +0000
committerEd Schouten <ed@FreeBSD.org>2011-04-30 10:59:17 +0000
commite07762606a5bf651a501cb095c98cba90e4a8fe2 (patch)
treecfae23e686b177255a6fb3304d166f1ce5cd7ca1 /Ada95/gen
parent0294a182a1629b1d854b84906e73487d6cb75fba (diff)
downloadsrc-e07762606a5bf651a501cb095c98cba90e4a8fe2.tar.gz
src-e07762606a5bf651a501cb095c98cba90e4a8fe2.zip
Import ncurses 5.9.vendor/ncurses/5.9-20110405
Notes
Notes: svn path=/vendor/ncurses/dist/; revision=221245 svn path=/vendor/ncurses/5.9-20110405/; revision=221246; tag=vendor/ncurses/5.9-20110405
Diffstat (limited to 'Ada95/gen')
-rw-r--r--Ada95/gen/Makefile.in10
-rw-r--r--Ada95/gen/gen.c57
-rw-r--r--Ada95/gen/terminal_interface-curses-aux.ads.m46
-rw-r--r--Ada95/gen/terminal_interface-curses-forms-field_types.ads.m422
-rw-r--r--Ada95/gen/terminal_interface-curses-mouse.ads.m414
-rw-r--r--Ada95/gen/terminal_interface-curses.adb.m414
-rw-r--r--Ada95/gen/terminal_interface-curses.ads.m430
7 files changed, 91 insertions, 62 deletions
diff --git a/Ada95/gen/Makefile.in b/Ada95/gen/Makefile.in
index 7292d27d510b..10fd6352ce3c 100644
--- a/Ada95/gen/Makefile.in
+++ b/Ada95/gen/Makefile.in
@@ -28,7 +28,7 @@
#
# Author: Juergen Pfeifer, 1996
#
-# $Id: Makefile.in,v 1.71 2011/01/22 19:47:09 tom Exp $
+# $Id: Makefile.in,v 1.74 2011/03/26 23:36:30 tom Exp $
#
.SUFFIXES:
@@ -57,7 +57,7 @@ CC = @CC@
HOST_CC = @BUILD_CC@
CFLAGS = @CFLAGS@
-CPPFLAGS = @ACPPFLAGS@ \
+CPPFLAGS = @ACPPFLAGS@ @CPPFLAGS@ \
-DHAVE_CONFIG_H -I$(srcdir)
CCFLAGS = $(CPPFLAGS) $(CFLAGS)
@@ -88,7 +88,7 @@ PROG_GENERATE = ./generate$x
GENERATE = $(PROG_GENERATE) '@DFT_ARG_SUFFIX@'
DEL_ADAMODE = sed -e '/^\-\-\ \ \-\*\-\ ada\ \-\*\-.*/d'
-GNATHTML = `type -p gnathtml || type -p gnathtml.pl`
+GNATHTML = `type -p gnathtml || type -p gnathtml.pl 2>/dev/null`
GNATHP = www.gnat.com
################################################################################
@@ -305,6 +305,7 @@ $(ADA_SRCDIR)/$(ABASE)-mouse.ads: $(srcdir)/$(ABASE)-mouse.ads.m4 \
$(DEL_ADAMODE) >$@
$(ADA_SRCDIR)/$(ABASE)-panels.ads: $(srcdir)/$(ABASE)-panels.ads.m4 \
+ $(GEN_FILES4) \
$(srcdir)/normal.m4
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
$(srcdir)/$(ABASE)-panels.ads.m4 |\
@@ -377,7 +378,7 @@ distclean :: clean
realclean :: distclean
-HTML_DIR = ../../doc/html/ada
+HTML_DIR = @ADAHTML_DIR@
instab.tmp : table.m4 $(GEN_SRC)
@rm -f $@
@@ -405,6 +406,7 @@ $(HTML_DIR)/table.html : instab.tmp
@rm -f instab.tmp
adahtml:
+ test -n "$(GNATHTML)" || exit 1
@find $(HTML_DIR) -type f -exec rm -f {} \;
@mkdir -p $(HTML_DIR)
cp -p ../src/*.ad[sb] . && chmod +w *.ad[sb]
diff --git a/Ada95/gen/gen.c b/Ada95/gen/gen.c
index 31391864d1b0..30772b0b0217 100644
--- a/Ada95/gen/gen.c
+++ b/Ada95/gen/gen.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998,2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,2010,2011 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 *
@@ -32,7 +32,7 @@
/*
Version Control
- $Id: gen.c,v 1.54 2010/09/04 21:19:50 tom Exp $
+ $Id: gen.c,v 1.59 2011/03/31 23:50:24 tom Exp $
--------------------------------------------------------------------------*/
/*
This program generates various record structures and constants from the
@@ -124,7 +124,10 @@ gen_reps(
int len, /* size of the record in bytes */
int bias)
{
- int i, n, l, cnt = 0, low, high;
+ const char *unused_name = "Unused";
+ int long_bits = (8 * (int)sizeof(unsigned long));
+ int len_bits = (8 * len);
+ int i, j, n, l, cnt = 0, low, high;
int width = strlen(RES_NAME) + 3;
unsigned long a;
unsigned long mask = 0;
@@ -144,8 +147,32 @@ gen_reps(
printf(" record\n");
for (i = 0; nap[i].name != (char *)0; i++)
{
+ mask |= nap[i].attr;
printf(" %-*s : Boolean;\n", width, nap[i].name);
}
+
+ /*
+ * Compute a mask for the unused bits in this target.
+ */
+ mask = ~mask;
+ /*
+ * Bits in the biased area are unused by the target.
+ */
+ for (j = 0; j < bias; ++j)
+ {
+ mask &= (unsigned long)(~(1L << j));
+ }
+ /*
+ * Bits past the target's size are really unused.
+ */
+ for (j = len_bits + bias; j < long_bits; ++j)
+ {
+ mask &= (unsigned long)(~(1L << j));
+ }
+ if (mask != 0)
+ {
+ printf(" %-*s : Boolean;\n", width, unused_name);
+ }
printf(" end record;\n");
printf(" pragma Convention (C, %s);\n\n", name);
@@ -155,16 +182,22 @@ gen_reps(
for (i = 0; nap[i].name != (char *)0; i++)
{
a = nap[i].attr;
- mask |= a;
l = find_pos((char *)&a, sizeof(a), &low, &high);
if (l >= 0)
printf(" %-*s at 0 range %2d .. %2d;\n", width, nap[i].name,
low - bias, high - bias);
}
+ if (mask != 0)
+ {
+ l = find_pos((char *)&mask, sizeof(mask), &low, &high);
+ if (l >= 0)
+ printf(" %-*s at 0 range %2d .. %2d;\n", width, unused_name,
+ low - bias, high - bias);
+ }
i = 1;
n = cnt;
printf(" end record;\n");
- printf(" for %s'Size use %d;\n", name, 8 * len);
+ printf(" for %s'Size use %d;\n", name, len_bits);
printf(" -- Please note: this rep. clause is generated and may be\n");
printf(" -- different on your system.");
}
@@ -241,7 +274,10 @@ static void
gen_attr_set(const char *name)
{
/* All of the A_xxx symbols are defined in ncurses, but not all are nonzero
- * if "configure --enable-widec" is specified.
+ * if "configure --enable-widec" is not specified. Originally (in
+ * 1999-2000), the ifdef's also were needed since the proposed bit-layout
+ * for wide characters allocated 16-bits for A_CHARTEXT, leaving too few
+ * bits for a few of the A_xxx symbols.
*/
static const name_attribute_pair nap[] =
{
@@ -332,6 +368,7 @@ gen_trace(const char *name)
{"Internal_Calls", TRACE_ICALLS},
{"Character_Calls", TRACE_CCALLS},
{"Termcap_TermInfo", TRACE_DATABASE},
+ {"Attributes_And_Colors", TRACE_ATTRS},
{(char *)0, 0}
};
gen_reps(nap, name, sizeof(int), 0);
@@ -770,7 +807,7 @@ gen_keydefs(int mode)
static void
acs_def(const char *name, chtype *a)
{
- int c = a - &acs_map[0];
+ int c = (int)(a - &acs_map[0]);
printf(" %-24s : constant Character := ", name);
if (isprint(UChar(c)) && (c != '`'))
@@ -1278,12 +1315,6 @@ gen_offsets(void)
printf(" Sizeof%-*s : constant Natural := %2ld; -- %s\n",
12, "_bool", (long)sizeof(bool), "bool");
- /* In ncurses _maxy and _maxx needs an offset for the "public"
- * value
- */
- printf(" Offset%-*s : constant Natural := %2d; -- %s\n",
- 12, "_XY", 1, "int");
- printf("\n");
printf(" type Curses_Bool is mod 2 ** Interfaces.C.%s'Size;\n", s_bool);
}
diff --git a/Ada95/gen/terminal_interface-curses-aux.ads.m4 b/Ada95/gen/terminal_interface-curses-aux.ads.m4
index 0f4c06266161..111ec698a493 100644
--- a/Ada95/gen/terminal_interface-curses-aux.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-aux.ads.m4
@@ -10,7 +10,7 @@ include(M4MACRO)dnl
-- S P E C --
-- --
------------------------------------------------------------------------------
--- Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. --
+-- Copyright (c) 1998-2009,2011 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 --
@@ -38,7 +38,7 @@ include(M4MACRO)dnl
------------------------------------------------------------------------------
-- Author: Juergen Pfeifer, 1996
-- Version Control:
--- $Revision: 1.17 $
+-- $Revision: 1.18 $
-- Binding Version 01.00
------------------------------------------------------------------------------
include(`Base_Defs')
@@ -64,7 +64,7 @@ include(`Chtype_Def')
-- This is how those constants are defined in ncurses. I see them also
-- exactly like this in all ETI implementations I ever tested. So it
-- could be that this is quite general, but please check with your curses.
- -- This is critical, because curses sometime mixes boolean returns with
+ -- This is critical, because curses sometime mixes Boolean returns with
-- returning an error status.
Curses_Ok : constant C_Int := CF_CURSES_OK;
Curses_Err : constant C_Int := CF_CURSES_ERR;
diff --git a/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4 b/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4
index 36314012ed9b..b8481d59714d 100644
--- a/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4
@@ -10,7 +10,7 @@ include(M4MACRO)dnl
-- S P E C --
-- --
------------------------------------------------------------------------------
--- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc. --
+-- Copyright (c) 1998-2009,2011 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 --
@@ -38,7 +38,7 @@ include(M4MACRO)dnl
------------------------------------------------------------------------------
-- Author: Juergen Pfeifer, 1996
-- Version Control:
--- $Revision: 1.15 $
+-- $Revision: 1.16 $
-- Binding Version 01.00
------------------------------------------------------------------------------
with Interfaces.C;
@@ -101,15 +101,15 @@ private
pragma Convention (C, Freearg_Function);
type Field_Check_Function is access
- function (Fld : Field; Usr : System.Address) return C_Int;
+ function (Fld : Field; Usr : System.Address) return Curses_Bool;
pragma Convention (C, Field_Check_Function);
type Char_Check_Function is access
- function (Ch : C_Int; Usr : System.Address) return C_Int;
+ function (Ch : C_Int; Usr : System.Address) return Curses_Bool;
pragma Convention (C, Char_Check_Function);
type Choice_Function is access
- function (Fld : Field; Usr : System.Address) return C_Int;
+ function (Fld : Field; Usr : System.Address) return Curses_Bool;
pragma Convention (C, Choice_Function);
-- +----------------------------------------------------------------------
@@ -117,7 +117,7 @@ private
-- |
type Low_Level_Field_Type is
record
- Status : Interfaces.C.short;
+ Status : Interfaces.C.unsigned_short;
Ref_Count : Interfaces.C.long;
Left, Right : System.Address;
Makearg : Makearg_Function;
@@ -159,7 +159,7 @@ private
-- Any other value will raise a Form_Exception.
function Make_Arg (Args : System.Address) return System.Address;
- pragma Convention (C, Make_Arg);
+ pragma Import (C, Make_Arg, "void_star_make_arg");
-- This is the Makearg_Function for the internal low-level types
-- introduced by this binding.
@@ -174,7 +174,7 @@ private
-- introduced by this binding.
function Field_Check_Router (Fld : Field;
- Usr : System.Address) return C_Int;
+ Usr : System.Address) return Curses_Bool;
pragma Convention (C, Field_Check_Router);
-- This is the Field_Check_Function for the internal low-level types
-- introduced to wrap the low-level types by a Field_Type derived
@@ -182,7 +182,7 @@ private
-- function.
function Char_Check_Router (Ch : C_Int;
- Usr : System.Address) return C_Int;
+ Usr : System.Address) return Curses_Bool;
pragma Convention (C, Char_Check_Router);
-- This is the Char_Check_Function for the internal low-level types
-- introduced to wrap the low-level types by a Field_Type derived
@@ -190,7 +190,7 @@ private
-- function.
function Next_Router (Fld : Field;
- Usr : System.Address) return C_Int;
+ Usr : System.Address) return Curses_Bool;
pragma Convention (C, Next_Router);
-- This is the Choice_Function for the internal low-level types
-- introduced to wrap the low-level types by a Field_Type derived
@@ -198,7 +198,7 @@ private
-- function.
function Prev_Router (Fld : Field;
- Usr : System.Address) return C_Int;
+ Usr : System.Address) return Curses_Bool;
pragma Convention (C, Prev_Router);
-- This is the Choice_Function for the internal low-level types
-- introduced to wrap the low-level types by a Field_Type derived
diff --git a/Ada95/gen/terminal_interface-curses-mouse.ads.m4 b/Ada95/gen/terminal_interface-curses-mouse.ads.m4
index d61eb0c7953c..a4fb661ef84a 100644
--- a/Ada95/gen/terminal_interface-curses-mouse.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-mouse.ads.m4
@@ -10,7 +10,7 @@ include(M4MACRO)dnl
-- S P E C --
-- --
------------------------------------------------------------------------------
--- Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. --
+-- Copyright (c) 1998-2009,2011 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 --
@@ -38,8 +38,8 @@ include(M4MACRO)dnl
------------------------------------------------------------------------------
-- Author: Juergen Pfeifer, 1996
-- Version Control:
--- $Revision: 1.28 $
--- $Date: 2009/12/26 17:38:58 $
+-- $Revision: 1.29 $
+-- $Date: 2011/03/19 12:35:58 $
-- Binding Version 01.00
------------------------------------------------------------------------------
include(`Mouse_Base_Defs')
@@ -49,10 +49,6 @@ package Terminal_Interface.Curses.Mouse is
pragma Preelaborate (Terminal_Interface.Curses.Mouse);
-- MANPAGE(`curs_mouse.3x')
- -- Please note, that in ncurses-1.9.9e documentation mouse support
- -- is still marked as experimental. So also this binding will change
- -- if the ncurses methods change.
- --
-- mouse_trafo, wmouse_trafo are implemented as Transform_Coordinates
-- in the parent package.
--
@@ -99,7 +95,7 @@ package Terminal_Interface.Curses.Mouse is
State : Button_State;
Mask : in out Event_Mask);
-- Stores the event described by the button and the state in the mask.
- -- Before you call this the first time, you should init the mask
+ -- Before you call this the first time, you should initialize the mask
-- with the Empty_Mask constant
pragma Inline (Register_Reportable_Event);
@@ -108,7 +104,7 @@ package Terminal_Interface.Curses.Mouse is
State : Button_States;
Mask : in out Event_Mask);
-- Register all events described by the Button and the State bitmap.
- -- Before you call this the first time, you should init the mask
+ -- Before you call this the first time, you should initialize the mask
-- with the Empty_Mask constant
-- ANCHOR(`mousemask()',`Start_Mouse')
diff --git a/Ada95/gen/terminal_interface-curses.adb.m4 b/Ada95/gen/terminal_interface-curses.adb.m4
index a77676cd3cc6..1f89a5a35233 100644
--- a/Ada95/gen/terminal_interface-curses.adb.m4
+++ b/Ada95/gen/terminal_interface-curses.adb.m4
@@ -9,7 +9,7 @@ include(M4MACRO)----------------------------------------------------------------
-- B O D Y --
-- --
------------------------------------------------------------------------------
--- Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. --
+-- Copyright (c) 1998-2009,2011 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 --
@@ -37,8 +37,8 @@ include(M4MACRO)----------------------------------------------------------------
------------------------------------------------------------------------------
-- Author: Juergen Pfeifer, 1996
-- Version Control:
--- $Revision: 1.6 $
--- $Date: 2009/12/26 17:38:58 $
+-- $Revision: 1.8 $
+-- $Date: 2011/03/22 23:02:14 $
-- Binding Version 01.00
------------------------------------------------------------------------------
with System;
@@ -1208,6 +1208,7 @@ package body Terminal_Interface.Curses is
X : Column_Position;
begin
Get_Size (Win, Y, X);
+ pragma Unreferenced (X);
Change_Lines_Status (Win, 0, Positive (Y), True);
end Touch;
@@ -1217,6 +1218,7 @@ package body Terminal_Interface.Curses is
X : Column_Position;
begin
Get_Size (Win, Y, X);
+ pragma Unreferenced (X);
Change_Lines_Status (Win, 0, Positive (Y), False);
end Untouch;
@@ -1352,10 +1354,8 @@ package body Terminal_Interface.Curses is
function GetMaxX (W : Window) return C_Int;
pragma Import (C, GetMaxX, "getmaxx");
- Y : constant C_Int := GetMaxY (Win)
- + C_Int (Offset_XY);
- X : constant C_Int := GetMaxX (Win)
- + C_Int (Offset_XY);
+ Y : constant C_Int := GetMaxY (Win);
+ X : constant C_Int := GetMaxX (Win);
begin
Number_Of_Lines := Line_Count (Y);
Number_Of_Columns := Column_Count (X);
diff --git a/Ada95/gen/terminal_interface-curses.ads.m4 b/Ada95/gen/terminal_interface-curses.ads.m4
index deb762896de4..28cc9d198779 100644
--- a/Ada95/gen/terminal_interface-curses.ads.m4
+++ b/Ada95/gen/terminal_interface-curses.ads.m4
@@ -9,7 +9,7 @@ include(M4MACRO)----------------------------------------------------------------
-- S P E C --
-- --
------------------------------------------------------------------------------
--- Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. --
+-- Copyright (c) 1998-2009,2011 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 --
@@ -37,8 +37,8 @@ include(M4MACRO)----------------------------------------------------------------
------------------------------------------------------------------------------
-- Author: Juergen Pfeifer, 1996
-- Version Control:
--- $Revision: 1.42 $
--- $Date: 2009/12/26 17:38:58 $
+-- $Revision: 1.44 $
+-- $Date: 2011/03/19 23:05:56 $
-- Binding Version 01.00
------------------------------------------------------------------------------
include(`Base_Defs')
@@ -52,8 +52,8 @@ include(`Version_Info')
type Window is private;
Null_Window : constant Window;
- type Line_Position is new Natural; -- line coordinate
- type Column_Position is new Natural; -- column coordinate
+ type Line_Position is new Integer; -- line coordinate
+ type Column_Position is new Integer; -- column coordinate
subtype Line_Count is Line_Position range 1 .. Line_Position'Last;
-- Type to count lines. We do not allow null windows, so must be positive
@@ -461,7 +461,7 @@ include(`ACS_Map')dnl
-- ALIAS(`getch()')
-- Get a character from the keyboard and echo it - if enabled - to the
-- window.
- -- If for any reason (i.e. a timeout) we couldn't get a character the
+ -- If for any reason (i.e. a timeout) we could not get a character the
-- returned keycode is Key_None.
pragma Inline (Get_Keystroke);
@@ -659,7 +659,7 @@ include(`ACS_Map')dnl
-- introduce the Timeout_Mode parameter. This should improve
-- readability. For Blocking and Non_Blocking, the Amount is not
-- evaluated.
- -- We don't inline this procedure.
+ -- We do not inline this procedure.
-- ANCHOR(`notimeout()',`Set_Escape_Time_Mode')
procedure Set_Escape_Timer_Mode
@@ -940,7 +940,7 @@ include(`ACS_Map')dnl
Top_Left_Column : out Column_Position;
Is_Not_A_Subwindow : out Boolean);
-- AKA
- -- Instead of placing -1 in the coordinates as return, we use a boolean
+ -- Instead of placing -1 in the coordinates as return, we use a Boolean
-- to return the info that the window has no parent.
pragma Inline (Get_Origin_Relative_To_Parent);
@@ -1122,7 +1122,7 @@ include(`ACS_Map')dnl
-- ALIAS(`mvwinchstr()')
-- ALIAS(`mvinchnstr()')
-- ALIAS(`mvinchstr()')
- -- We don't inline the Peek procedures
+ -- We do not inline the Peek procedures
-- MANPAGE(`curs_getstr.3x')
@@ -1171,7 +1171,7 @@ include(`ACS_Map')dnl
Text : String;
Fmt : Label_Justification := Left);
-- AKA
- -- We don't inline this procedure
+ -- We do not inline this procedure
-- ANCHOR(`slk_refresh()',`Refresh_Soft_Label_Key')
procedure Refresh_Soft_Label_Keys;
@@ -1273,7 +1273,7 @@ include(`ACS_Map')dnl
function Key_Name (Key : Real_Key_Code) return String;
-- AKA
-- Same as function
- -- We don't inline this routine
+ -- We do not inline this routine
-- ANCHOR(`unctrl()',`Un_Control')
procedure Un_Control (Ch : Attributed_Character;
@@ -1443,7 +1443,7 @@ include(`ACS_Map')dnl
-- N.B.: to be more precise, this uses a ncurses specific enhancement of
-- ripoffline(), in which the Lines argument absolute value is the
-- number of lines to be ripped of. The official ripoffline() only
- -- uses the sign of Lines to rip of a single line from bottom or top.
+ -- uses the sign of Lines to remove a single line from bottom or top.
pragma Inline (Rip_Off_Lines);
type Cursor_Visibility is (Invisible, Normal, Very_Visible);
@@ -1469,10 +1469,10 @@ include(`ACS_Map')dnl
Dir : Transform_Direction := From_Screen);
-- This procedure transforms screen coordinates into coordinates relative
-- to the window and vice versa, depending on the Dir parameter.
- -- Screen coordinates are the position informations on the physical device.
+ -- Screen coordinates are the position information for the physical device.
-- An Curses_Exception will be raised if Line and Column are not in the
-- Window or if you pass the Null_Window as argument.
- -- We don't inline this procedure
+ -- We do not inline this procedure
-- MANPAGE(`default_colors.3x')
@@ -1529,7 +1529,7 @@ include(`ACS_Map')dnl
-- Not implemented: printw, wprintw, mvprintw, mvwprintw, vwprintw,
-- vw_printw
-- Please use the Ada style Text_IO child packages for formatted
- -- printing. It doesn't make a lot of sense to map the printf style
+ -- printing. It does not make a lot of sense to map the printf style
-- C functions to Ada.
-- MANPAGE(`curs_scanw.3x')