diff options
author | Benoit Foucher <benoit@zeroc.com> | 2006-03-24 14:32:35 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2006-03-24 14:32:35 +0000 |
commit | c9a1e3aad627ee02dd5a17b374528f48c9ebe157 (patch) | |
tree | 912ba1a8707db30c1ce7fa6792691e90c824732a /cpp/src/IceUtil/Random.cpp | |
parent | Fix (diff) | |
download | ice-c9a1e3aad627ee02dd5a17b374528f48c9ebe157.tar.bz2 ice-c9a1e3aad627ee02dd5a17b374528f48c9ebe157.tar.xz ice-c9a1e3aad627ee02dd5a17b374528f48c9ebe157.zip |
Fixed bug 916.
Diffstat (limited to 'cpp/src/IceUtil/Random.cpp')
-rw-r--r-- | cpp/src/IceUtil/Random.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/cpp/src/IceUtil/Random.cpp b/cpp/src/IceUtil/Random.cpp index 501e6582cd8..d3e217a2fc1 100644 --- a/cpp/src/IceUtil/Random.cpp +++ b/cpp/src/IceUtil/Random.cpp @@ -197,5 +197,13 @@ IceUtil::random(int limit) { int r; generateRandom(reinterpret_cast<char*>(&r), sizeof(int)); - return limit == 0 ? r : r % limit; + if(limit > 0) + { + r = r % limit; + } + if(r < 0) + { + r = -r; + } + return r; } |