X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=compat%2Fcompat.h;h=8f15e585fda82221eaeed22bfc0834b4ccd9fa67;hp=b2e27368cf0690701c81b692fc0f9dce4c7216f4;hb=7ad7cfbff232431377562271901ee00202bf0bd0;hpb=a9a9e374e2567caad8601d1781a3b0af8a3dde13 diff --git a/compat/compat.h b/compat/compat.h index b2e27368..8f15e585 100644 --- a/compat/compat.h +++ b/compat/compat.h @@ -13,7 +13,7 @@ * 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/ . + * along with this program. If not, see https://www.gnu.org/licenses/ . * * Author: Carl Worth */ @@ -30,7 +30,22 @@ extern "C" { #endif -#if !HAVE_GETLINE +#if ! STD_GETPWUID +#define _POSIX_PTHREAD_SEMANTICS 1 +#endif +#if ! STD_ASCTIME +#define _POSIX_PTHREAD_SEMANTICS 1 +#endif + +#if ! HAVE_CANONICALIZE_FILE_NAME +/* we only call this function from C, and this makes testing easier */ +#ifndef __cplusplus +char * +canonicalize_file_name (const char *path); +#endif +#endif + +#if ! HAVE_GETLINE #include #include @@ -40,22 +55,31 @@ getline (char **lineptr, size_t *n, FILE *stream); ssize_t getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp); -#endif /* !HAVE_GETLINE */ +#endif /* !HAVE_GETLINE */ + +#if ! HAVE_STRCASESTR +char *strcasestr (const char *haystack, const char *needle); +#endif /* !HAVE_STRCASESTR */ + +#if ! HAVE_STRSEP +char *strsep (char **stringp, const char *delim); +#endif /* !HAVE_STRSEP */ -#if !HAVE_STRCASESTR -char* strcasestr(const char *haystack, const char *needle); -#endif /* !HAVE_STRCASESTR */ +#if ! HAVE_TIMEGM +#include +time_t timegm (struct tm *tm); +#endif /* !HAVE_TIMEGM */ /* Silence gcc warnings about unused results. These warnings exist * for a reason; any use of this needs to be justified. */ #ifdef __GNUC__ -#define IGNORE_RESULT(x) ({ __typeof__(x) __z = (x); (void)(__z = __z); }) +#define IGNORE_RESULT(x) ({ __typeof__(x) __z = (x); (void) (__z = __z); }) #else /* !__GNUC__ */ #define IGNORE_RESULT(x) x -#endif /* __GNUC__ */ +#endif /* __GNUC__ */ #ifdef __cplusplus } #endif -#endif /* NOTMUCH_COMPAT_H */ +#endif /* NOTMUCH_COMPAT_H */