comparison vm/vm.c @ 246:0ba179301f71 src

division by zero fix reported by david huber
author mroi
date Fri, 21 May 2004 19:32:25 +0000
parents a27c81078c3c
children 84f652524ecb
comparison
equal deleted inserted replaced
245:b4f9a592bc84 246:0ba179301f71
448 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.hour & 0x0f) * 3600; 448 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.hour & 0x0f) * 3600;
449 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.minute >> 4 ) * 600; 449 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.minute >> 4 ) * 600;
450 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.minute & 0x0f) * 60; 450 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.minute & 0x0f) * 60;
451 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.second >> 4 ) * 10; 451 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.second >> 4 ) * 10;
452 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.second & 0x0f) * 1; 452 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.second & 0x0f) * 1;
453 if (size / time > 30) 453 if (!time || size / time > 30)
454 /* datarate is too high, it might be a very short, but regular cell */ 454 /* datarate is too high, it might be a very short, but regular cell */
455 return; 455 return;
456 if (time > 0xff) time = 0xff; 456 if (time > 0xff) time = 0xff;
457 position->still = time; 457 position->still = time;
458 } 458 }