projects
/
xscreensaver
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
From http://www.jwz.org/xscreensaver/xscreensaver-5.31.tar.gz
[xscreensaver]
/
hacks
/
rd-bomb.c
diff --git
a/hacks/rd-bomb.c
b/hacks/rd-bomb.c
index 878f5b9b6996ffdad0a49e2333f31a5599634387..08ec7a753d9c84dd8c2a6accab19ac5b607c8ecd 100644
(file)
--- a/
hacks/rd-bomb.c
+++ b/
hacks/rd-bomb.c
@@
-236,7
+236,9
@@
pixack_frame(struct state *st, char *pix_buf)
/* John E. Pearson "Complex Patterns in a Simple System"
Science, July 1993 */
/* John E. Pearson "Complex Patterns in a Simple System"
Science, July 1993 */
- uvv = (((r1 * r2) >> bps) * r2) >> bps;
+ /* uvv = (((r1 * r2) >> bps) * r2) >> bps; */
+ /* avoid signed integer overflow */
+ uvv = ((((r1 >> 1)* r2) >> bps) * r2) >> (bps - 1);
switch (st->reaction) { /* costs 4% */
case 0:
r1 += 4 * (((28 * (mx-r1)) >> 10) - uvv);
switch (st->reaction) { /* costs 4% */
case 0:
r1 += 4 * (((28 * (mx-r1)) >> 10) - uvv);