- Replaced old digitsOnly() function with Lexer::isAllDigits.
This commit is contained in:
Paul Beckingham 2015-02-22 20:23:00 -05:00
parent 9f82926c65
commit 26aff348d2
7 changed files with 9 additions and 26 deletions

View file

@ -1345,7 +1345,7 @@ void CLI::findIDs ()
if (terms.size () == 1) if (terms.size () == 1)
{ {
if (! digitsOnly (terms[0])) if (! Lexer::isAllDigits (terms[0]))
{ {
is_an_id = false; is_an_id = false;
break; break;
@ -1366,8 +1366,8 @@ void CLI::findIDs ()
} }
else if (terms.size () == 2) else if (terms.size () == 2)
{ {
if (! digitsOnly (terms[0]) || if (! Lexer::isAllDigits (terms[0]) ||
! digitsOnly (terms[1])) ! Lexer::isAllDigits (terms[1]))
{ {
is_an_id = false; is_an_id = false;
break; break;
@ -2206,7 +2206,7 @@ bool CLI::isIDSequence (const std::string& raw) const
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
bool CLI::isID (const std::string& raw) const bool CLI::isID (const std::string& raw) const
{ {
return digitsOnly (raw); return Lexer::isAllDigits (raw);
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View file

@ -823,7 +823,7 @@ void Date::operator++ (int)
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
bool Date::isEpoch (const std::string& input) bool Date::isEpoch (const std::string& input)
{ {
if (digitsOnly (input) && if (Lexer::isAllDigits (input) &&
input.length () <= 10 ) input.length () <= 10 )
{ {
_t = (time_t) atoi (input.c_str ()); _t = (time_t) atoi (input.c_str ());

View file

@ -107,7 +107,7 @@ Duration::Duration (time_t input)
Duration::Duration (const std::string& input) Duration::Duration (const std::string& input)
: _secs (0) : _secs (0)
{ {
if (digitsOnly (input)) if (Lexer::isAllDigits (input))
{ {
time_t value = (time_t) strtol (input.c_str (), NULL, 10); time_t value = (time_t) strtol (input.c_str (), NULL, 10);
if (value == 0 || value > 60) if (value == 0 || value > 60)

View file

@ -120,11 +120,11 @@ int CmdCalendar::execute (std::string& output)
argWholeYear = true; argWholeYear = true;
// YYYY. // YYYY.
else if (digitsOnly (*arg) && arg->length () == 4) else if (Lexer::isAllDigits (*arg) && arg->length () == 4)
argYear = strtol (arg->c_str (), NULL, 10); argYear = strtol (arg->c_str (), NULL, 10);
// MM. // MM.
else if (digitsOnly (*arg) && arg->length () <= 2) else if (Lexer::isAllDigits (*arg) && arg->length () <= 2)
{ {
argMonth = strtol (arg->c_str (), NULL, 10); argMonth = strtol (arg->c_str (), NULL, 10);
if (argMonth < 1 || argMonth > 12) if (argMonth < 1 || argMonth > 12)

View file

@ -479,16 +479,6 @@ bool nontrivial (const std::string& input)
return false; return false;
} }
////////////////////////////////////////////////////////////////////////////////
bool digitsOnly (const std::string& input)
{
for (size_t i = 0; i < input.length (); ++i)
if (!isdigit (input[i]))
return false;
return true;
}
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Override of ispunct, that considers #, $ and @ not to be punctuation. // Override of ispunct, that considers #, $ and @ not to be punctuation.
// //

View file

@ -50,7 +50,6 @@ const std::string str_replace (std::string&, const std::string&, const std::stri
const std::string str_replace (const std::string&, const std::string&, const std::string&); const std::string str_replace (const std::string&, const std::string&, const std::string&);
const char* optionalBlankLine (); const char* optionalBlankLine ();
bool nontrivial (const std::string&); bool nontrivial (const std::string&);
bool digitsOnly (const std::string&);
bool isPunctuation (char); bool isPunctuation (char);
bool compare (const std::string&, const std::string&, bool sensitive = true); bool compare (const std::string&, const std::string&, bool sensitive = true);
bool closeEnough (const std::string&, const std::string&, unsigned int minLength = 0); bool closeEnough (const std::string&, const std::string&, unsigned int minLength = 0);

View file

@ -37,7 +37,7 @@ Context context;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
int main (int argc, char** argv) int main (int argc, char** argv)
{ {
UnitTest t (209); UnitTest t (205);
// Ensure environment has no influence. // Ensure environment has no influence.
unsetenv ("TASKDATA"); unsetenv ("TASKDATA");
@ -290,12 +290,6 @@ int main (int argc, char** argv)
t.ok (nontrivial (" \t\ta"), "nontrivial ' \\t\\ta' -> true"); t.ok (nontrivial (" \t\ta"), "nontrivial ' \\t\\ta' -> true");
t.ok (nontrivial ("a\t\t "), "nontrivial 'a\\t\\t ' -> true"); t.ok (nontrivial ("a\t\t "), "nontrivial 'a\\t\\t ' -> true");
// bool digitsOnly (const std::string&);
t.ok (digitsOnly (""), "digitsOnly '' -> true");
t.ok (digitsOnly ("0"), "digitsOnly '0' -> true");
t.ok (digitsOnly ("123"), "digitsOnly '123' -> true");
t.notok (digitsOnly ("12fa"), "digitsOnly '12fa' -> false");
// bool compare (const std::string&, const std::string&, bool caseless = false); // bool compare (const std::string&, const std::string&, bool caseless = false);
// Make sure degenerate cases are handled. // Make sure degenerate cases are handled.
t.ok (compare ("", ""), "'' == ''"); t.ok (compare ("", ""), "'' == ''");