[comp.sys.ibm.pc.misc] UUPC 1.08a delay bug

ache@hq.demos.su (Andrew A. Chernov) (10/04/90)

"delay" is standart library function for Turbo-C, but not for MSC.
Some "delay" emulation code for MSC in file "dcplib.c" contains very
unplesant bug:

       ...
	 milliseconds =- (t.millitm - last); /* Yes --> mSecond delta*/
       ...
         milliseconds =- 1000 * (int) (t.time - seconds)
       ...

But in MSC (like in all ANSI's standard compilers) "=-" means "= -",
not "-=". I spend more then 6 hours to localize this bug.
-- 
In-Real-Life: Andrew A. Chernov   |  Domain: ache@hq.demos.su,
Zodiac-Sign:  Virgo               |          ache%hq.demos.su@relay.eu.net
Organization: DEMOS Cooperative,  |  Phone:  +7 095 2312129
	      Moscow, USSR        |  Fax:    +7 095 2335016

help@kendra.kew.com (Drew Derbyshire - UUPC/extended Help Desk) (10/05/90)

From article <1990Oct4.084647.29558@hq.demos.su>, by ache@hq.demos.su (Andrew A. Chernov):
> "delay" is standart library function for Turbo-C, but not for MSC.
> Some "delay" emulation code for MSC in file "dcplib.c" contains very
> unplesant bug:
> 
>        ...
> 	 milliseconds =- (t.millitm - last); /* Yes --> mSecond delta*/
>        ...
>          milliseconds =- 1000 * (int) (t.time - seconds)
>        ...
> 
> But in MSC (like in all ANSI's standard compilers) "=-" means "= -",
> not "-=". I spend more then 6 hours to localize this bug.

and the bloody thing loops forever.  I fixed that ... I thought.  I know the
system hung on me when testing it.  Only took me an hour, but *I* knew
what I had changed.

The next release will use DosSleep instead.  I hope to get the OS/2
version done soon, which requires use of the MS C compiler; hence the
next release will be tested better  ... I hope.

Drew Derbyshire

Internet:  help@kendra.kew.com           Snail mail:  108 Decatur St, Apt 9
Voice:     617-641-3739                               Arlington, MA 02174