# HG changeset patch # User michaelni # Date 1062669159 0 # Node ID 89a78842f6c2d6e76f60ed83e784e05121482919 # Parent 84b7fd1abf2c194ec92eda53d9567a3b546c8a72 localtime_r patch by (Glenn Maynard ) diff -r 84b7fd1abf2c -r 89a78842f6c2 Makefile --- a/Makefile Thu Sep 04 08:21:27 2003 +0000 +++ b/Makefile Thu Sep 04 09:52:39 2003 +0000 @@ -34,6 +34,10 @@ OBJS+= strptime.o endif +ifeq ($(BUILD_LOCALTIME_R),yes) +OBJS+= localtime_r.o +endif + ifeq ($(CONFIG_VIDEO4LINUX),yes) OBJS+= grab.o endif diff -r 84b7fd1abf2c -r 89a78842f6c2 dvcore.c --- a/dvcore.c Thu Sep 04 08:21:27 2003 +0000 +++ b/dvcore.c Thu Sep 04 09:52:39 2003 +0000 @@ -21,6 +21,7 @@ */ #include "avformat.h" #include "dvcore.h" +#include "localtime_r.h" /* * The reason why the following three big ugly looking tables are diff -r 84b7fd1abf2c -r 89a78842f6c2 localtime_r.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/localtime_r.c Thu Sep 04 09:52:39 2003 +0000 @@ -0,0 +1,43 @@ +/* Convert a string representation of time to a time value. + Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1996. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "localtime_r.h" + +#if !defined(HAVE_LOCALTIME_R) +/* Approximate localtime_r as best we can in its absence. */ +#include + +struct tm * +localtime_r (t, tp) + const time_t *t; + struct tm *tp; +{ + struct tm *l = localtime (t); + if (! l) + return 0; + *tp = *l; + return tp; +} +#endif /* !defined(HAVE_LOCALTIME_R) */ + diff -r 84b7fd1abf2c -r 89a78842f6c2 localtime_r.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/localtime_r.h Thu Sep 04 09:52:39 2003 +0000 @@ -0,0 +1,42 @@ +/* strptime.h + * + * $Id$ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __LOCALTIME_R_H__ +#define __LOCALTIME_R_H__ + +/* + * Version of "localtime_r()", for the benefit of OSes that don't have it. + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#if !defined(HAVE_LOCALTIME_R) +#include +/* Approximate localtime_r as best we can in its absence. */ +# define localtime_r my_localtime_r +extern struct tm *localtime_r(const time_t *, struct tm *); +#endif + +#endif diff -r 84b7fd1abf2c -r 89a78842f6c2 strptime.c --- a/strptime.c Thu Sep 04 08:21:27 2003 +0000 +++ b/strptime.c Thu Sep 04 09:52:39 2003 +0000 @@ -37,6 +37,7 @@ #endif #include "strptime.h" +#include "localtime_r.h" #ifndef __P # if defined (__GNUC__) || (defined (__STDC__) && __STDC__) @@ -46,28 +47,6 @@ # endif /* GCC. */ #endif /* Not __P. */ -#if ! HAVE_LOCALTIME_R && ! defined localtime_r -# ifdef _LIBC -# define localtime_r __localtime_r -# else -/* Approximate localtime_r as best we can in its absence. */ -# define localtime_r my_localtime_r -static struct tm *localtime_r __P ((const time_t *, struct tm *)); -static struct tm * -localtime_r (t, tp) - const time_t *t; - struct tm *tp; -{ - struct tm *l = localtime (t); - if (! l) - return 0; - *tp = *l; - return tp; -} -# endif /* ! _LIBC */ -#endif /* ! HAVE_LOCALTIME_R && ! defined (localtime_r) */ - - #define match_char(ch1, ch2) if (ch1 != ch2) return NULL #if defined __GNUC__ && __GNUC__ >= 2 # define match_string(cs1, s2) \