added localtime_r()
This commit is contained in:
parent
c1ab16dabb
commit
9d5c6df788
@ -2,7 +2,7 @@ dnl $Id$
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_INIT(lib/urldata.h)
|
||||
AM_CONFIG_HEADER(config.h src/config.h)
|
||||
AM_INIT_AUTOMAKE(curl,"7.0.8beta")
|
||||
AM_INIT_AUTOMAKE(curl,"7.0.10beta")
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
dnl
|
||||
@ -287,6 +287,7 @@ AC_CHECK_FUNCS( socket \
|
||||
gethostbyname_r \
|
||||
gethostbyaddr \
|
||||
gethostbyaddr_r \
|
||||
localtime_r \
|
||||
getservbyname \
|
||||
gettimeofday \
|
||||
inet_addr \
|
||||
|
@ -9,10 +9,13 @@
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
# include "config.h"
|
||||
# ifdef HAVE_ALLOCA_H
|
||||
# include <alloca.h>
|
||||
# endif
|
||||
# ifdef HAVE_TIME_H
|
||||
# include <time.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Since the code of getdate.y is not included in the Emacs executable
|
||||
@ -468,6 +471,7 @@ o_merid : /* NULL */
|
||||
|
||||
extern struct tm *gmtime ();
|
||||
extern struct tm *localtime ();
|
||||
extern struct tm *localtime_r (time_t *, struct tm *);
|
||||
extern time_t mktime ();
|
||||
|
||||
/* Month and day table. */
|
||||
@ -918,10 +922,16 @@ curl_getdate (const char *p, const time_t *now)
|
||||
{
|
||||
struct tm tm, tm0, *tmp;
|
||||
time_t Start;
|
||||
|
||||
#ifdef HAVE_LOCALTIME_R
|
||||
struct tm keeptime;
|
||||
#endif
|
||||
yyInput = p;
|
||||
Start = now ? *now : time ((time_t *) NULL);
|
||||
#ifdef HAVE_LOCALTIME_R
|
||||
tmp = localtime_r(&Start, &keeptime);
|
||||
#else
|
||||
tmp = localtime (&Start);
|
||||
#endif
|
||||
if (!tmp)
|
||||
return -1;
|
||||
yyYear = tmp->tm_year + TM_YEAR_ORIGIN;
|
||||
|
12
lib/http.c
12
lib/http.c
@ -61,6 +61,7 @@
|
||||
#endif
|
||||
#include <netinet/in.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#include <sys/resource.h>
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
@ -360,7 +361,18 @@ CURLcode http(struct connectdata *conn)
|
||||
if(data->timecondition) {
|
||||
struct tm *thistime;
|
||||
|
||||
#ifdef HAVE_LOCALTIME_R
|
||||
extern struct tm *localtime_r(time_t *, struct tm *);
|
||||
/* thread-safe version */
|
||||
struct tm keeptime;
|
||||
thistime = localtime_r(&data->timevalue, &keeptime);
|
||||
#else
|
||||
thistime = localtime(&data->timevalue);
|
||||
#endif
|
||||
if(NULL == thistime) {
|
||||
failf(data, "localtime() failed!");
|
||||
return CURLE_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
#ifdef HAVE_STRFTIME
|
||||
/* format: "Tue, 15 Nov 1994 12:45:26 GMT" */
|
||||
|
Loading…
x
Reference in New Issue
Block a user