diff options
author | Max Kellermann <max@duempel.org> | 2012-08-08 09:15:34 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2012-08-08 09:27:12 +0200 |
commit | 21792386d835903d2f9e2d04a1860d60bb8488e2 (patch) | |
tree | 572cd68b4684b0a03207907dfc96a5c5e2651aa2 /src/time_print.c | |
parent | 63a2ac21e1d8190448057fbf24d5ab948d3daff8 (diff) | |
download | mpd-21792386d835903d2f9e2d04a1860d60bb8488e2.tar.gz mpd-21792386d835903d2f9e2d04a1860d60bb8488e2.tar.xz mpd-21792386d835903d2f9e2d04a1860d60bb8488e2.zip |
time_print: new library, function time_print()
Implements error checking for the gmtime_r() call, which was missing
in two code locations.
Diffstat (limited to '')
-rw-r--r-- | src/time_print.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/time_print.c b/src/time_print.c new file mode 100644 index 000000000..6fb569d96 --- /dev/null +++ b/src/time_print.c @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2003-2011 The Music Player Daemon Project + * http://www.musicpd.org + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "config.h" +#include "time_print.h" +#include "client.h" + +#include <glib.h> + +void +time_print(struct client *client, const char *name, time_t t) +{ +#ifdef G_OS_WIN32 + const struct tm *tm2 = gmtime(&t); +#else + struct tm tm; + const struct tm *tm2 = gmtime_r(&t, &tm); +#endif + if (tm2 == NULL) + return; + + char buffer[32]; + strftime(buffer, sizeof(buffer), +#ifdef G_OS_WIN32 + "%Y-%m-%dT%H:%M:%SZ", +#else + "%FT%TZ", +#endif + tm2); + client_printf(client, "%s: %s\n", name, buffer); +} |