diff options
| author | Nyx (Neal Orman) <nyx@lindenlab.com> | 2011-07-26 15:51:44 -0400 |
|---|---|---|
| committer | Nyx (Neal Orman) <nyx@lindenlab.com> | 2011-07-26 15:51:44 -0400 |
| commit | 60d15f78e17a2203d73d58c3f1c2af941d599277 (patch) | |
| tree | 58da32e9df5e9727e437efa90e98a0d4d2a3b0e9 /indra/llui/lltextvalidate.cpp | |
| parent | 85b316e5df41444eafe77964f1a4758ccfd40784 (diff) | |
| parent | f79a058f3ce50361b732061ab30f4a1923fba445 (diff) | |
merge with latest mesh-dev
Diffstat (limited to 'indra/llui/lltextvalidate.cpp')
| -rw-r--r-- | indra/llui/lltextvalidate.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/indra/llui/lltextvalidate.cpp b/indra/llui/lltextvalidate.cpp index 4b9faa0560..234e600ccd 100644 --- a/indra/llui/lltextvalidate.cpp +++ b/indra/llui/lltextvalidate.cpp @@ -188,6 +188,39 @@ namespace LLTextValidate return success; } + bool validateNonNegativeS32NoSpace(const LLWString &str) + { + LLLocale locale(LLLocale::USER_LOCALE); + + LLWString test_str = str; + S32 len = test_str.length(); + bool success = TRUE; + if(0 < len) + { + if('-' == test_str[0]) + { + success = FALSE; + } + S32 i = 0; + while(success && (i < len)) + { + if(!LLStringOps::isDigit(test_str[i]) || LLStringOps::isSpace(test_str[i++])) + { + success = FALSE; + } + } + } + if (success) + { + S32 val = strtol(wstring_to_utf8str(test_str).c_str(), NULL, 10); + if (val < 0) + { + success = FALSE; + } + } + return success; + } + bool validateAlphaNum(const LLWString &str) { LLLocale locale(LLLocale::USER_LOCALE); |
