diff --git a/atari/settings.c b/atari/settings.c index e921da247..0b4c5f747 100644 --- a/atari/settings.c +++ b/atari/settings.c @@ -19,7 +19,6 @@ #include #include -#include #include #include #include @@ -29,6 +28,7 @@ #include #include +#include "utils/dirent.h" #include "utils/nsoption.h" #include "utils/log.h" #include "desktop/plot_style.h" diff --git a/content/fetchers/about.c b/content/fetchers/about.c index eeea3d992..cf66a622b 100644 --- a/content/fetchers/about.c +++ b/content/fetchers/about.c @@ -37,7 +37,6 @@ #include #include #include -#include #include #include @@ -46,6 +45,7 @@ #include "testament.h" #include "utils/config.h" +#include "utils/dirent.h" #include "content/fetch.h" #include "content/fetchers.h" #include "content/fetchers/about.h" diff --git a/content/fetchers/file.c b/content/fetchers/file.c index c2f8bed2f..ff40386fe 100644 --- a/content/fetchers/file.c +++ b/content/fetchers/file.c @@ -36,7 +36,6 @@ #include #include #include -#include #include #include @@ -46,6 +45,7 @@ #include +#include "utils/dirent.h" #include "utils/corestrings.h" #include "utils/nsoption.h" #include "utils/errors.h" diff --git a/content/fetchers/resource.c b/content/fetchers/resource.c index 7a55b54ed..2db414d68 100644 --- a/content/fetchers/resource.c +++ b/content/fetchers/resource.c @@ -33,13 +33,12 @@ #include #include #include -#include #include #include #include -#include "utils/config.h" +#include "utils/dirent.h" #include "utils/errors.h" #include "utils/corestrings.h" #include "utils/nsoption.h" diff --git a/javascript/fetcher.c b/javascript/fetcher.c index de1ce66db..5bbe3dd9f 100644 --- a/javascript/fetcher.c +++ b/javascript/fetcher.c @@ -34,7 +34,6 @@ #include #include #include -#include #include #include diff --git a/utils/config.h b/utils/config.h index 8f05b23dc..ddd1c6e8e 100644 --- a/utils/config.h +++ b/utils/config.h @@ -20,7 +20,6 @@ #define _NETSURF_UTILS_CONFIG_H_ #include -#include /* Try to detect which features the target OS supports */ @@ -107,10 +106,6 @@ char *realpath(const char *path, char *resolved_path); #define HAVE_SCANDIR #if (defined(_WIN32)) #undef HAVE_SCANDIR -int alphasort(const struct dirent **d1, const struct dirent **d2); -int scandir(const char *dir, struct dirent ***namelist, - int (*sel)(const struct dirent *), - int (*compar)(const struct dirent **, const struct dirent **)); #endif /* This section toggles build options on and off. diff --git a/utils/dirent.h b/utils/dirent.h new file mode 100644 index 000000000..a22e21ac3 --- /dev/null +++ b/utils/dirent.h @@ -0,0 +1,45 @@ +/* + * 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 directory traversal and entry + * + * This allows the obtaining of standard directory entry routines + * functions in a uniform way despite any oddities in headers and + * supported API between OS. + * + * \note This functionality was previously provided as a side effect of the + * utils config header include. + */ + +#ifndef _NETSURF_UTILS_DIRENT_H_ +#define _NETSURF_UTILS_DIRENT_H_ + +#include "utils/config.h" + +#include + +#ifndef HAVE_SCANDIR + +int alphasort(const struct dirent **d1, const struct dirent **d2); +int scandir(const char *dir, struct dirent ***namelist, + int (*sel)(const struct dirent *), + int (*compar)(const struct dirent **, const struct dirent **)); +#endif + +#endif diff --git a/utils/filename.c b/utils/filename.c index 19ee03968..9c95901a1 100644 --- a/utils/filename.c +++ b/utils/filename.c @@ -24,7 +24,6 @@ #include #include -#include #include #include #include @@ -33,7 +32,7 @@ #include #include -#include "utils/config.h" +#include "utils/dirent.h" #include "utils/filename.h" #include "utils/log.h" #include "utils/utils.h" diff --git a/utils/utils.c b/utils/utils.c index 53c0fbe38..a332f88f7 100644 --- a/utils/utils.c +++ b/utils/utils.c @@ -38,7 +38,9 @@ #include "utils/messages.h" #include "utils/utf8.h" #include "utils/time.h" +#include "utils/sys_time.h" #include "utils/inet.h" +#include "utils/dirent.h" #include "utils/utils.h" /* exported interface documented in utils/utils.h */ @@ -399,11 +401,14 @@ int dir_sort_alpha(const struct dirent **d1, const struct dirent **d2) #ifndef HAVE_SCANDIR + +/* exported function documented in utils/dirent.h */ int alphasort(const struct dirent **d1, const struct dirent **d2) { return strcasecmp((*d1)->d_name, (*d2)->d_name); } +/* exported function documented in utils/dirent.h */ int scandir(const char *dir, struct dirent ***namelist, int (*sel)(const struct dirent *), int (*compar)(const struct dirent **, const struct dirent **)) diff --git a/windows/main.c b/windows/main.c index 736199cd9..dfb3ad107 100644 --- a/windows/main.c +++ b/windows/main.c @@ -21,6 +21,7 @@ #include #include #include +#include #include "utils/utils.h" #include "utils/log.h"