From 836ea5679e5a817e0c6a2654d5a29a053a602593 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Tue, 19 Apr 2016 09:16:09 +0100 Subject: [PATCH] move sys/time.h support functionality out of generic header The utils header is a large collection of functionality for several system headers and API. This splits out the ones from sys/time.h into a separate header reducing the need for many unconnected source files to include the system header unecessarily. --- atari/schedule.c | 2 +- framebuffer/schedule.c | 2 +- monkey/main.c | 2 +- monkey/schedule.c | 2 +- riscos/download.c | 2 +- utils/log.c | 2 +- utils/sys_time.h | 53 ++++++++++++++++++++++++++++++++++++++++++ utils/utils.c | 1 - utils/utils.h | 27 --------------------- windows/download.c | 2 +- windows/schedule.c | 2 +- 11 files changed, 61 insertions(+), 36 deletions(-) create mode 100644 utils/sys_time.h diff --git a/atari/schedule.c b/atari/schedule.c index 5c652d541..48980426d 100644 --- a/atari/schedule.c +++ b/atari/schedule.c @@ -19,9 +19,9 @@ #include #include -#include #include +#include "utils/sys_time.h" #include "utils/errors.h" #include "atari/schedule.h" diff --git a/framebuffer/schedule.c b/framebuffer/schedule.c index d8146797d..581ad72f1 100644 --- a/framebuffer/schedule.c +++ b/framebuffer/schedule.c @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -#include #include #include +#include "utils/sys_time.h" #include "utils/log.h" #include "framebuffer/schedule.h" diff --git a/monkey/main.c b/monkey/main.c index e09d0ea4a..526488e9e 100644 --- a/monkey/main.c +++ b/monkey/main.c @@ -20,11 +20,11 @@ #include #include #include -#include #include #include #include "utils/config.h" +#include "utils/sys_time.h" #include "utils/log.h" #include "utils/messages.h" #include "utils/filepath.h" diff --git a/monkey/schedule.c b/monkey/schedule.c index e2d54e8ab..8c638c0b9 100644 --- a/monkey/schedule.c +++ b/monkey/schedule.c @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -#include #include #include +#include "utils/sys_time.h" #include "utils/log.h" #include "monkey/schedule.h" diff --git a/riscos/download.c b/riscos/download.c index 659587455..851f0aecc 100644 --- a/riscos/download.c +++ b/riscos/download.c @@ -32,7 +32,6 @@ #include #include -#include #include #include #include @@ -46,6 +45,7 @@ #include "oslib/wimp.h" #include "oslib/wimpspriteop.h" +#include "utils/sys_time.h" #include "utils/nsoption.h" #include "utils/log.h" #include "utils/messages.h" diff --git a/utils/log.c b/utils/log.c index 43bfbd522..15a7a9e75 100644 --- a/utils/log.c +++ b/utils/log.c @@ -22,9 +22,9 @@ #include #include -#include #include "utils/config.h" +#include "utils/sys_time.h" #include "utils/utsname.h" #include "desktop/version.h" diff --git a/utils/sys_time.h b/utils/sys_time.h new file mode 100644 index 000000000..82d88fd25 --- /dev/null +++ b/utils/sys_time.h @@ -0,0 +1,53 @@ +/* + * Copyright 2016 Vincent Sanders + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf 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; version 2 of the License. + * + * NetSurf 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 program. If not, see . + */ + +/** + * \file + * \brief BSD style time functions + */ + +#ifndef _NETSURF_UTILS_SYS_TIME_H_ +#define _NETSURF_UTILS_SYS_TIME_H_ + +#include + +#ifndef timeradd +#define timeradd(a, aa, result) \ + do { \ + (result)->tv_sec = (a)->tv_sec + (aa)->tv_sec; \ + (result)->tv_usec = (a)->tv_usec + (aa)->tv_usec; \ + if ((result)->tv_usec >= 1000000) { \ + ++(result)->tv_sec; \ + (result)->tv_usec -= 1000000; \ + } \ + } while (0) +#endif + +#ifndef timersub +#define timersub(a, aa, result) \ + do { \ + (result)->tv_sec = (a)->tv_sec - (aa)->tv_sec; \ + (result)->tv_usec = (a)->tv_usec - (aa)->tv_usec; \ + if ((result)->tv_usec < 0) { \ + --(result)->tv_sec; \ + (result)->tv_usec += 1000000; \ + } \ + } while (0) +#endif + +#endif diff --git a/utils/utils.c b/utils/utils.c index 50704eae2..53c0fbe38 100644 --- a/utils/utils.c +++ b/utils/utils.c @@ -28,7 +28,6 @@ #include #include #include -#include #include #include #include diff --git a/utils/utils.h b/utils/utils.h index 4b5360c5c..39a7254b0 100644 --- a/utils/utils.h +++ b/utils/utils.h @@ -31,7 +31,6 @@ #include #include #include -#include #include #include #include @@ -119,32 +118,6 @@ struct dirent; #define SLEN(x) (sizeof((x)) - 1) -#ifndef timeradd -#define timeradd(a, aa, result) \ - do { \ - (result)->tv_sec = (a)->tv_sec + (aa)->tv_sec; \ - (result)->tv_usec = (a)->tv_usec + (aa)->tv_usec; \ - if ((result)->tv_usec >= 1000000) { \ - ++(result)->tv_sec; \ - (result)->tv_usec -= 1000000; \ - } \ - } while (0) -#endif - -#ifndef timersub -#define timersub(a, aa, result) \ - do { \ - (result)->tv_sec = (a)->tv_sec - (aa)->tv_sec; \ - (result)->tv_usec = (a)->tv_usec - (aa)->tv_usec; \ - if ((result)->tv_usec < 0) { \ - --(result)->tv_sec; \ - (result)->tv_usec += 1000000; \ - } \ - } while (0) -#endif - - - /** * Replace consecutive whitespace with a single space. * diff --git a/windows/download.c b/windows/download.c index e1641bae3..110c27280 100644 --- a/windows/download.c +++ b/windows/download.c @@ -17,13 +17,13 @@ */ #include -#include #include "utils/config.h" #include #include +#include "utils/sys_time.h" #include "utils/log.h" #include "utils/messages.h" #include "utils/url.h" diff --git a/windows/schedule.c b/windows/schedule.c index eb9ed3bc4..249e60e27 100644 --- a/windows/schedule.c +++ b/windows/schedule.c @@ -16,9 +16,9 @@ * along with this program. If not, see . */ -#include #include +#include "utils/sys_time.h" #include "utils/log.h" #include "utils/utils.h" #include "utils/errors.h"