Fixes from Marco Jez.

This commit is contained in:
Robert Osfield 2005-02-22 11:55:30 +00:00
parent b40fe170c7
commit 25658ad31f

View File

@ -294,33 +294,37 @@ bool ArgumentParser::read(int pos, const std::string& str)
remove(pos,1);
return true;
}
else
{
reportError("argument to `"+str+"` is missing");
return false;
}
}
bool ArgumentParser::read(int pos, const std::string& str, Parameter value1)
{
if (match(pos,str) &&
value1.valid(_argv[pos+1]))
if (match(pos,str))
{
if ((pos+1)<*_argc)
{
if (value1.valid(_argv[pos+1]))
{
value1.assign(_argv[pos+1]);
remove(pos,2);
return true;
}
else
{
reportError("argument to `"+str+"` is not valid");
return false;
}
reportError("argument to `"+str+"` is missing");
return false;
}
return false;
}
bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Parameter value2)
{
if (match(pos,str) &&
value1.valid(_argv[pos+1]) &&
if (match(pos,str))
{
if ((pos+2)<*_argc)
{
if (value1.valid(_argv[pos+1]) &&
value2.valid(_argv[pos+2]))
{
value1.assign(_argv[pos+1]);
@ -328,17 +332,22 @@ bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Par
remove(pos,3);
return true;
}
else
{
reportError("argument to `"+str+"` is not valid");
return false;
}
reportError("argument to `"+str+"` is missing");
return false;
}
return false;
}
bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Parameter value2, Parameter value3)
{
if (match(pos,str) &&
value1.valid(_argv[pos+1]) &&
if (match(pos,str))
{
if ((pos+3)<*_argc)
{
if (value1.valid(_argv[pos+1]) &&
value2.valid(_argv[pos+2]) &&
value3.valid(_argv[pos+3]))
{
@ -348,17 +357,22 @@ bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Par
remove(pos,4);
return true;
}
else
{
reportError("argument to `"+str+"` is not valid");
return false;
}
reportError("argument to `"+str+"` is missing");
return false;
}
return false;
}
bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4)
{
if (match(pos,str) &&
value1.valid(_argv[pos+1]) &&
if (match(pos,str))
{
if ((pos+4)<*_argc)
{
if (value1.valid(_argv[pos+1]) &&
value2.valid(_argv[pos+2]) &&
value3.valid(_argv[pos+3]) &&
value4.valid(_argv[pos+4]))
@ -370,17 +384,22 @@ bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Par
remove(pos,5);
return true;
}
else
{
reportError("argument to `"+str+"` is not valid");
return false;
}
reportError("argument to `"+str+"` is missing");
return false;
}
return false;
}
bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5)
{
if (match(pos,str) &&
value1.valid(_argv[pos+1]) &&
if (match(pos,str))
{
if ((pos+5)<*_argc)
{
if (value1.valid(_argv[pos+1]) &&
value2.valid(_argv[pos+2]) &&
value3.valid(_argv[pos+3]) &&
value4.valid(_argv[pos+4]) &&
@ -394,17 +413,22 @@ bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Par
remove(pos,6);
return true;
}
else
{
reportError("argument to `"+str+"` is not valid");
return false;
}
reportError("argument to `"+str+"` is missing");
return false;
}
return false;
}
bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6)
{
if (match(pos,str) &&
value1.valid(_argv[pos+1]) &&
if (match(pos,str))
{
if ((pos+6)<*_argc)
{
if (value1.valid(_argv[pos+1]) &&
value2.valid(_argv[pos+2]) &&
value3.valid(_argv[pos+3]) &&
value4.valid(_argv[pos+4]) &&
@ -420,17 +444,22 @@ bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Par
remove(pos,7);
return true;
}
else
{
reportError("argument to `"+str+"` is not valid");
return false;
}
reportError("argument to `"+str+"` is missing");
return false;
}
return false;
}
bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6, Parameter value7)
{
if (match(pos,str) &&
value1.valid(_argv[pos+1]) &&
if (match(pos,str))
{
if ((pos+7)<*_argc)
{
if (value1.valid(_argv[pos+1]) &&
value2.valid(_argv[pos+2]) &&
value3.valid(_argv[pos+3]) &&
value4.valid(_argv[pos+4]) &&
@ -448,17 +477,22 @@ bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Par
remove(pos,8);
return true;
}
else
{
reportError("argument to `"+str+"` is not valid");
return false;
}
reportError("argument to `"+str+"` is missing");
return false;
}
return false;
}
bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6, Parameter value7, Parameter value8)
{
if (match(pos,str) &&
value1.valid(_argv[pos+1]) &&
if (match(pos,str))
{
if ((pos+8)<*_argc)
{
if (value1.valid(_argv[pos+1]) &&
value2.valid(_argv[pos+2]) &&
value3.valid(_argv[pos+3]) &&
value4.valid(_argv[pos+4]) &&
@ -478,11 +512,13 @@ bool ArgumentParser::read(int pos, const std::string& str, Parameter value1, Par
remove(pos,9);
return true;
}
else
{
reportError("argument to `"+str+"` is not valid");
return false;
}
reportError("argument to `"+str+"` is missing");
return false;
}
return false;
}
bool ArgumentParser::errors(ErrorSeverity severity) const