From: Daniel Stenberg Date: Mon, 7 Feb 2011 14:09:24 +0000 (+0100) Subject: Curl_gmtime: avoid future mistakes X-Git-Tag: curl-7_21_4~18 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0696260122f1ebdf43bcc926b03bfd58bff318e3;p=curl Curl_gmtime: avoid future mistakes Document Curl_gmtime() and define away the old functions so that they won't be used internally again by mistake. --- diff --git a/lib/parsedate.c b/lib/parsedate.c index ea1f36e73..1d7f035f2 100644 --- a/lib/parsedate.c +++ b/lib/parsedate.c @@ -515,6 +515,15 @@ time_t curl_getdate(const char *p, const time_t *now) return -1; } +/* + * Curl_gmtime() is a gmtime() replacement for portability. Do not use the + * gmtime_r() or gmtime() functions anywhere else but here. + * + * To make sure no such function calls slip in, we define them to cause build + * errors, which is why we use the name within parentheses in this function. + * + */ + CURLcode Curl_gmtime(time_t intime, struct tm *store) { const struct tm *tm; diff --git a/lib/setup_once.h b/lib/setup_once.h index 85e78e8d8..e817b6dea 100644 --- a/lib/setup_once.h +++ b/lib/setup_once.h @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2010, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -488,6 +488,8 @@ typedef int sig_atomic_t; #define ZERO_NULL 0 +#define gmtime(x) do_not_use_gmtime_use_Curl_gmtime() +#define gmtime_r(x,y) do_not_use_gmtime_r_use_Curl_gmtime() #endif /* __SETUP_ONCE_H */