00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef MPD_GLIB_COMPAT_H
00027 #define MPD_GLIB_COMPAT_H
00028
00029 #include <glib.h>
00030
00031 #if !GLIB_CHECK_VERSION(2,18,0)
00032
00033 static inline void
00034 g_set_error_literal(GError **err, GQuark domain, gint code,
00035 const gchar *message)
00036 {
00037 g_set_error(err, domain, code, "%s", message);
00038 }
00039
00040 #endif
00041
00042 #if !GLIB_CHECK_VERSION(2,28,0)
00043
00044 static inline gint64
00045 g_source_get_time(GSource *source)
00046 {
00047 GTimeVal tv;
00048 g_source_get_current_time(source, &tv);
00049 return tv.tv_sec * 1000000 + tv.tv_usec;
00050 }
00051
00052 #endif
00053
00054 #if defined(G_OS_WIN32) && defined(g_file_test)
00055
00056
00057
00058
00059
00060
00061
00062 #undef g_file_test
00063
00064 static inline gboolean
00065 g_file_test(const gchar *filename, GFileTest test)
00066 {
00067 gchar *utf8_filename = g_locale_to_utf8(filename, -1, NULL, NULL, NULL);
00068 gboolean retval;
00069
00070 if (utf8_filename == NULL)
00071 return FALSE;
00072
00073 retval = g_file_test_utf8(utf8_filename, test);
00074
00075 g_free(utf8_filename);
00076
00077 return retval;
00078 }
00079
00080 #endif
00081
00082 #endif