diff options
author | Vincent Sanders <vince@kyllikki.org> | 2016-04-19 09:16:09 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2016-04-19 09:16:09 +0100 |
commit | 836ea5679e5a817e0c6a2654d5a29a053a602593 (patch) | |
tree | 8f35232bb9379238b651a8672af964039f057b06 | |
parent | 46e1061ef3b156016c689698d35bbbbbebf17471 (diff) | |
download | netsurf-836ea5679e5a817e0c6a2654d5a29a053a602593.tar.gz netsurf-836ea5679e5a817e0c6a2654d5a29a053a602593.tar.bz2 |
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.
-rw-r--r-- | atari/schedule.c | 2 | ||||
-rw-r--r-- | framebuffer/schedule.c | 2 | ||||
-rw-r--r-- | monkey/main.c | 2 | ||||
-rw-r--r-- | monkey/schedule.c | 2 | ||||
-rw-r--r-- | riscos/download.c | 2 | ||||
-rw-r--r-- | utils/log.c | 2 | ||||
-rw-r--r-- | utils/sys_time.h | 53 | ||||
-rw-r--r-- | utils/utils.c | 1 | ||||
-rw-r--r-- | utils/utils.h | 27 | ||||
-rw-r--r-- | windows/download.c | 2 | ||||
-rw-r--r-- | windows/schedule.c | 2 |
11 files changed, 61 insertions, 36 deletions
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 <stdlib.h> #include <string.h> -#include <sys/time.h> #include <time.h> +#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 <http://www.gnu.org/licenses/>. */ -#include <sys/time.h> #include <time.h> #include <stdlib.h> +#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 <stdlib.h> #include <limits.h> #include <sys/select.h> -#include <sys/time.h> #include <sys/types.h> #include <unistd.h> #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 <http://www.gnu.org/licenses/>. */ -#include <sys/time.h> #include <time.h> #include <stdlib.h> +#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 <assert.h> #include <string.h> -#include <sys/time.h> #include <time.h> #include <curl/curl.h> #include <libwapcaplet/libwapcaplet.h> @@ -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 <stdarg.h> #include <stdio.h> -#include <sys/time.h> #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 <vince@netsurf-browser.org> + * + * 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 <http://www.gnu.org/licenses/>. + */ + +/** + * \file + * \brief BSD style time functions + */ + +#ifndef _NETSURF_UTILS_SYS_TIME_H_ +#define _NETSURF_UTILS_SYS_TIME_H_ + +#include <sys/time.h> + +#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 <strings.h> #include <sys/stat.h> #include <sys/types.h> -#include <sys/time.h> #include <regex.h> #include <time.h> #include <errno.h> 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 <stddef.h> #include <stdlib.h> #include <sys/types.h> -#include <sys/time.h> #include <regex.h> #include <assert.h> #include <stdarg.h> @@ -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 <limits.h> -#include <sys/time.h> #include "utils/config.h" #include <shlobj.h> #include <windows.h> +#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 <http://www.gnu.org/licenses/>. */ -#include <sys/time.h> #include <time.h> +#include "utils/sys_time.h" #include "utils/log.h" #include "utils/utils.h" #include "utils/errors.h" |