Commit 06962601 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

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.
parent 54d9f060
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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;
+3 −1
Original line number Diff line number Diff line
@@ -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
 * 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 */