summaryrefslogtreecommitdiff
path: root/cpp/src/IceUtil/Random.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-03-24 14:32:35 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-03-24 14:32:35 +0000
commitc9a1e3aad627ee02dd5a17b374528f48c9ebe157 (patch)
tree912ba1a8707db30c1ce7fa6792691e90c824732a /cpp/src/IceUtil/Random.cpp
parentFix (diff)
downloadice-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.cpp10
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;
}