diff options
Diffstat (limited to 'getoptOLD/GetOpt.cs')
-rw-r--r-- | getoptOLD/GetOpt.cs | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/getoptOLD/GetOpt.cs b/getoptOLD/GetOpt.cs deleted file mode 100644 index a158073..0000000 --- a/getoptOLD/GetOpt.cs +++ /dev/null @@ -1,98 +0,0 @@ -using System;
-using System.Collections.Specialized;
-using System.Collections.Generic;
-
-namespace Gnu
-{
- /// <summary>
- /// An implementation of the getopt standard, as used by Gnu GetOpt
- /// </summary>
- public class GetOpt
- {
- StringCollection m_params = new StringCollection();
- StringCollection m_extras = new StringCollection();
- List<Arg> m_args = new List<Arg>();
-
- public GetOpt(string[] CommandLineArgs, string ParametersDescription)
- {
- // Import the string array into the collection
- foreach(string s in CommandLineArgs)
- {
- m_params.Add(s);
- }
-
- // Parse the params description
- for(int i = 0; i < ParametersDescription.Length; i++)
- {
- Arg a = new Arg();
- a.Flag = ParametersDescription[i];
- if((ParametersDescription.Length > i + 1) && (ParametersDescription[i + 1] == ':'))
- {
- a.TakesParameter = true;
- i++;
- }
-
- m_args.Add(a);
- }
- }
-
- public Arg NextArg()
- {
- SnarfExtras();
-
- if(m_params.Count == 0)
- return null;
-
- foreach(Arg a in m_args)
- {
- if(a.Flag == m_params[0][1] && m_params[0][0] == '-' )
- {
- Arg matched = a;
- try
- {
- if(a.TakesParameter)
- {
- matched.Parameter = m_params[1];
- m_params.RemoveAt(1);
- }
- }
- catch(Exception)
- {
- }
-
- m_params.RemoveAt(0);
- return matched;
- }
- }
-
- if(m_params[0][0] == '-')
- {
- Arg tempa = new Arg();
- tempa.Flag = m_params[0][1];
- tempa.TakesParameter = false;
- return tempa;
- }
- return null;
- }
-
- public StringCollection Extras
- {
- get
- {
- SnarfExtras();
-
- return m_extras;
- }
- }
-
- private void SnarfExtras()
- {
- // Parameters must start with a hyphen
- while((m_params.Count > 0) && (m_params[0][0] != '-'))
- {
- m_extras.Add(m_params[0]);
- m_params.RemoveAt(0);
- }
- }
- }
-}
|