diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2011-02-21 22:19:19 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2011-02-21 22:19:19 +0200 |
commit | f701e98418bd8e876173dbf5d6b91823c21e51d7 (patch) | |
tree | c7e696f360faedb757f38dde9bc55bc0eb2fff4d | |
parent | e891fcb47edb6e3b3474747018d15a528b0f404d (diff) |
Fix bug in decimal data types parsing
-rw-r--r-- | libxsde/xsde/cxx/parser/non-validating/number.cxx | 7 | ||||
-rw-r--r-- | libxsde/xsde/cxx/parser/validating/number.cxx | 7 |
2 files changed, 6 insertions, 8 deletions
diff --git a/libxsde/xsde/cxx/parser/non-validating/number.cxx b/libxsde/xsde/cxx/parser/non-validating/number.cxx index 52c175d..3906eb3 100644 --- a/libxsde/xsde/cxx/parser/non-validating/number.cxx +++ b/libxsde/xsde/cxx/parser/non-validating/number.cxx @@ -69,11 +69,10 @@ namespace xsde if (sign_ != none) tmp.assign (tmp.data () + 1, --size); - if (size != 0) - state_ = leading_zeros; - else - break; + state_ = leading_zeros; + if (size == 0) + break; // Fall through. } case leading_zeros: diff --git a/libxsde/xsde/cxx/parser/validating/number.cxx b/libxsde/xsde/cxx/parser/validating/number.cxx index 0e6b405..a0fc43f 100644 --- a/libxsde/xsde/cxx/parser/validating/number.cxx +++ b/libxsde/xsde/cxx/parser/validating/number.cxx @@ -71,11 +71,10 @@ namespace xsde if (sign_ != none) tmp.assign (tmp.data () + 1, --size); - if (size != 0) - state_ = leading_zeros; - else - break; + state_ = leading_zeros; + if (size == 0) + break; // Fall through. } case leading_zeros: |