get_password_1.0.0_0999eb5b/test/src/main.adb

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
with Ada.Command_Line;
with Ada.Text_IO;  use Ada.Text_IO;
with Get_Password;
with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;

procedure Main is
   Pin  : String (1 .. 6);
   Last : Natural;

   Zorro : Unbounded_String;
begin
   Get_Password.Get (Buffer => Pin,
                     Last   => Last,
                     Marker => "<>");

   Put_Line ("<" & Pin (Pin'First .. Last) & ">");

   Get_Password.Get (Buffer => Pin,
                     Last   => Last,
                     Marker => "*",
                     End_On => Get_Password.Buffer_Full);

   Put_Line ("<" & Pin (Pin'First .. Last) & ">");

   Get_Password.Get (Buffer => Pin,
                     Last   => Last,
                     Marker => "???",
                     End_On => Get_Password.End_Of_Line);

   Put_Line ("<" & Pin (Pin'First .. Last) & ">");

   Get_Password.Get (Buffer => Zorro,
                     Marker => "%");

   Put_Line ("<" & To_String (Zorro) & ">");



   Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Success);
exception
   when Get_Password.Not_A_Tty_Error =>
      Put_Line (Standard_Error, "Error : Input is not a terminal");

      Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
end Main;