-- B O D Y --
-- --
------------------------------------------------------------------------------
--- Copyright (c) 2000,2004 Free Software Foundation, Inc. --
+-- Copyright (c) 2000-2004,2008 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: Eugene V. Melaragno <aldomel@ix.netcom.com> 2000
-- Version Control
--- $Revision: 1.3 $
+-- $Revision: 1.7 $
+-- $Date: 2008/07/26 18:46:44 $
-- Binding Version 01.00
------------------------------------------------------------------------------
-- A simplified version of the GNU getopt function
package body ncurses2.getopt is
- optopt : Character := '?';
-
nextchar : Natural := 0;
-- Ncurses doesn't use the non option elements so we are spared
-- Look at and handle the next short option-character.
declare
c : Character := argv (optind) (nextchar);
- temp : Natural :=
+ temp : constant Natural :=
Ada.Strings.Fixed.Index (optstring, String'(1 => c));
begin
if temp = 0 or c = ':' then
Put_Line (Standard_Error,
argv (optind) & ": invalid option -- " & c);
- optopt := c;
c := '?';
return;
end if;
Put_Line (Standard_Error,
argv (optind) &
": option requires an argument -- " & c);
- optopt := c;
- if optstring (1) = ':' then
+ if optstring (optstring'First) = ':' then
c := ':';
else
c := '?';