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.
This commit is contained in:
Daniel Stenberg
2011-02-07 15:09:24 +01:00
parent 54d9f060b4
commit 0696260122
2 changed files with 12 additions and 1 deletions

View File

@@ -515,6 +515,15 @@ time_t curl_getdate(const char *p, const time_t *now)
return -1; 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) CURLcode Curl_gmtime(time_t intime, struct tm *store)
{ {
const struct tm *tm; const struct tm *tm;

View File

@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * 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 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 */ #endif /* __SETUP_ONCE_H */