XMMS2
localtime_dummy.c
Go to the documentation of this file.
1 /* XMMS2 - X Music Multiplexer System
2  * Copyright (C) 2003-2011 XMMS2 Team
3  *
4  * PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  */
16 
17 /* Have thread safe localtime when POSIX localtime_r isn't available */
18 
20 
21 static GStaticMutex mutex = G_STATIC_MUTEX_INIT;
22 
23 gboolean
24 xmms_localtime (const time_t *tt, struct tm *res)
25 {
26  struct tm *ret = NULL;
27 
28  g_static_mutex_lock (&mutex);
29  if ((ret = localtime (tt))) {
30  memcpy (res, ret, sizeof (struct tm));
31  ret = res;
32  }
33  g_static_mutex_unlock (&mutex);
34 
35  if (ret) {
36  return TRUE;
37  } else {
38  return FALSE;
39  }
40 }
gboolean xmms_localtime(const time_t *tt, struct tm *res)