diff options
author | Glenn Maynard <g_sf@zewt.org> | 2003-09-04 09:52:39 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2003-09-04 09:52:39 +0000 |
commit | 5e4639e2002d0a19d4278f9ff4ed11f1bdace33b (patch) | |
tree | e5b3e7300e2474c4bdd84a31f9c3ca6dab2b967e /libavformat | |
parent | a17236c53cd3ffe1d4eceb3be82b39001c006b3f (diff) | |
download | ffmpeg-5e4639e2002d0a19d4278f9ff4ed11f1bdace33b.tar.gz |
localtime_r patch by (Glenn Maynard <g_sf at zewt dot org>)
Originally committed as revision 2204 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/Makefile | 4 | ||||
-rw-r--r-- | libavformat/dvcore.c | 1 | ||||
-rw-r--r-- | libavformat/localtime_r.c | 43 | ||||
-rw-r--r-- | libavformat/localtime_r.h | 42 | ||||
-rw-r--r-- | libavformat/strptime.c | 23 |
5 files changed, 91 insertions, 22 deletions
diff --git a/libavformat/Makefile b/libavformat/Makefile index e064cf613b..866fdd5f7b 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -34,6 +34,10 @@ ifeq ($(BUILD_STRPTIME),yes) OBJS+= strptime.o endif +ifeq ($(BUILD_LOCALTIME_R),yes) +OBJS+= localtime_r.o +endif + ifeq ($(CONFIG_VIDEO4LINUX),yes) OBJS+= grab.o endif diff --git a/libavformat/dvcore.c b/libavformat/dvcore.c index c6d5ed6a95..57864c5f81 100644 --- a/libavformat/dvcore.c +++ b/libavformat/dvcore.c @@ -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 --git a/libavformat/localtime_r.c b/libavformat/localtime_r.c new file mode 100644 index 0000000000..1b619a4326 --- /dev/null +++ b/libavformat/localtime_r.c @@ -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 <drepper@cygnus.com>, 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 <time.h> + +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 --git a/libavformat/localtime_r.h b/libavformat/localtime_r.h new file mode 100644 index 0000000000..a3f8bec097 --- /dev/null +++ b/libavformat/localtime_r.h @@ -0,0 +1,42 @@ +/* strptime.h + * + * $Id$ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs <gerald@ethereal.com> + * 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 <time.h> +/* 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 --git a/libavformat/strptime.c b/libavformat/strptime.c index 7aece6a08e..45645384ba 100644 --- a/libavformat/strptime.c +++ b/libavformat/strptime.c @@ -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) \ |