separate (Tracker.Milestone_Pkg)
procedure Ms_Initialize is
    -----------------------------------------------------------------------------
    --|
    --|  NAME:  MS_INITIALIZE
    --|
    --|  OVERVIEW:
    --|    This procedure is called only when a new TRACKER file has to
    --|    be created.  It is part of a forced user response to fill in
    --|    the necessary data to make TRACKER a complete report.  The
    --|    procedure MS_ADD is called to gather the information and put it
    --|    into a linked list.
    --|
    --|  EXCEPTIONS HANDLED:
    --|    none
    --|
    --|  HISTORY:
    --|    written by   May Lee   March 1985
    --|
    --|  NOTES:
    --|    The user is forced to add at least one milestone record and then
    --|    is prompted to add another or not.
    -----------------------------------------------------------------------------
    Add_Another : Character := 'N';
    Done : Boolean := False;

begin
    while not Done loop
        -- force the user to add at least one milestone
        Ms_Add; -- data to the record and the record to the list

        loop
            Put_Line ("Would you like to add another milestone? ");
            Put ("  [ Y or N, <cr>=N ]  :  ");

            if End_Of_Line then
                -- pressed return, default to no
                Skip_Line;
                New_Line (2);
                Done := True;
                exit;
            else
                Get (Add_Another);
                Skip_Line;
                New_Line (2);

                if Add_Another = 'N' or Add_Another = 'n' then
                    Done := True;
                    exit;
                elsif Add_Another = 'Y' or Add_Another = 'y' then
                    exit;
                else
                    Put_Line (" Please enter y or n. ");
                end if;
            end if;
        end loop;
    end loop;
end Ms_Initialize;
