--- swlibs/fxmisc/fxos.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) --- a/swlibs/fxmisc/fxos.c +++ b/swlibs/fxmisc/fxos.c @@ -44,12 +44,12 @@ int fxGethostname(char *name, int n) #endif #if !macintosh /* return current time in seconds (floating point) */ -float fxTime(void) -{ #if defined ( __sparc__ ) || defined ( __DJGPP__ ) /* times returns 0 in BSD Unix, so we use ftime instead */ # include # include +float fxTime(void) +{ struct timeb tb; static time_t once; // saves first time value @@ -57,21 +57,25 @@ float fxTime(void) if (once == 0) // stash away first call once = tb.time; // as float is not big enough return (tb.time - once) + tb.millitm * .001; - +} #else #if defined ( WIN32 ) || ( __DOS__ ) # include # define times(a) clock() +# define T(var) # define HZ CLOCKS_PER_SEC #else # include # include # include - struct tms foo; +# define T(var) struct tms var #endif +float fxTime(void) +{ + T(foo); return times(&foo)/(float)HZ; -#endif } +#endif /* returns elapsed time in seconds */ float timer(int flag)