projects
/
fiveam.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
503a35c
)
Fix stupid bug in gen-character
author
Marco Baringer
<mb@bese.it>
Thu, 26 Jan 2006 12:04:26 +0000
(13:04 +0100)
committer
Marco Baringer
<mb@bese.it>
Thu, 26 Jan 2006 12:04:26 +0000
(13:04 +0100)
src/random.lisp
patch
|
blob
|
history
diff --git
a/src/random.lisp
b/src/random.lisp
index
d9c4d2b
..
a1f16bb
100644
(file)
--- a/
src/random.lisp
+++ b/
src/random.lisp
@@
-151,12
+151,16
@@
CODE must be a generator of random integers. ALPHANUMERICP, if
non-NIL, limits the returned chars to those which pass
alphanumericp."
(lambda ()
non-NIL, limits the returned chars to those which pass
alphanumericp."
(lambda ()
- (if alphanumericp
- (code-char (funcall code))
+ (if alphanumericp
(loop
(loop
+ for count upfrom 0
for char = (code-char (funcall code))
until (alphanumericp char)
for char = (code-char (funcall code))
until (alphanumericp char)
- finally (return char)))))
+ when (= 1000 count)
+ do (error "After 1000 iterations ~S has still not generated an alphanumeric character :(."
+ code)
+ finally (return char))
+ (code-char (funcall code)))))
(defun gen-string (&key (length (gen-integer :min 0 :max 80))
(elements (gen-character))
(defun gen-string (&key (length (gen-integer :min 0 :max 80))
(elements (gen-character))