diff options
Diffstat (limited to 'time.c')
-rw-r--r-- | time.c | 27 |
1 files changed, 15 insertions, 12 deletions
@@ -1,18 +1,18 @@ /* Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1997 Free Software Foundation, Inc. - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this software; see the file COPYING. If not, write to - * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111, USA. * * As a special exception, the Free Software Foundation gives permission * for additional uses of the text contained in its release of GUILE. @@ -36,7 +36,7 @@ * * If you write modifications of your own for GUILE, it is your choice * whether to permit this exception to apply to your modifications. - * If you do not wish that, delete this exception notice. + * If you do not wish that, delete this exception notice. */ /* "time.c" functions dealing with time. @@ -103,7 +103,7 @@ # include <sys/timeb.h> # define USE_GETTIMEOFDAY #endif -#ifdef freebsd +#ifdef __FreeBSD__ # include <sys/types.h> # include <sys/time.h> # include <sys/timeb.h> @@ -160,6 +160,12 @@ #ifdef _UNICOS # define LACK_FTIME #endif +#ifdef __amigados__ +# include <sys/time.h> +# include <sys/timeb.h> +# include <sys/times.h> +# define USE_GETTIMEOFDAY +#endif #ifndef LACK_FTIME # ifdef unix @@ -329,14 +335,11 @@ SCM your_time() else if ((1 + time_buffer1.time)==time_buffer2.time) ; else if (cnt < TIMETRIES) goto tryagain; else { - warn("could not read two ftime()s within one second in 10 tries",0L); + scm_warn("could not read two ftime()s within one second in 10 tries",0L); return MAKINUM(-1); } - time_buffer2.time -= your_base.time; - tmp = time_buffer2.millitm - your_base.millitm; - tmp = time_buffer2.time*1000L + tmp; - tmp *= CLKTCK; - tmp /= 1000; + tmp = CLKTCK*(time_buffer2.millitm - your_base.millitm); + tmp = CLKTCK*(time_buffer2.time - your_base.time) + tmp/1000; return MAKINUM(tmp); } #endif /* LACK_FTIME */ |