diff --git a/gst/gstplugin.c b/gst/gstplugin.c index c8215bde16..a9922b1c13 100644 --- a/gst/gstplugin.c +++ b/gst/gstplugin.c @@ -670,7 +670,11 @@ gst_plugin_load_file (const gchar * filename, GError ** error) GModule *module; gboolean ret; gpointer ptr; +#if GLIB_CHECK_VERSION(2,25,0) + GStatBuf file_status; +#else struct stat file_status; +#endif GstRegistry *registry; gboolean new_plugin = TRUE; @@ -1466,7 +1470,13 @@ gst_plugin_ext_dep_extract_env_vars_paths (GstPlugin * plugin, } static guint -gst_plugin_ext_dep_get_hash_from_stat_entry (struct stat *s) +gst_plugin_ext_dep_get_hash_from_stat_entry ( +#if GLIB_CHECK_VERSION(2,25,0) + GStatBuf * s +#else + struct stat *s +#endif + ) { if (!(s->st_mode & (S_IFDIR | S_IFREG))) return (guint) - 1; @@ -1510,7 +1520,7 @@ gst_plugin_ext_dep_scan_dir_and_match_names (GstPlugin * plugin, GDir *dir; guint hash = 0; - recurse_dirs = !!(flags & GST_PLUGIN_DEPENDENCY_FLAG_RECURSE); + recurse_dirs = ! !(flags & GST_PLUGIN_DEPENDENCY_FLAG_RECURSE); dir = g_dir_open (path, 0, &err); if (dir == NULL) { @@ -1523,7 +1533,11 @@ gst_plugin_ext_dep_scan_dir_and_match_names (GstPlugin * plugin, * the same order, and not in a random order */ while ((entry = g_dir_read_name (dir))) { gboolean have_match; +#if GLIB_CHECK_VERSION(2,25,0) + GStatBuf s; +#else struct stat s; +#endif gchar *full_path; guint fhash; @@ -1572,15 +1586,20 @@ gst_plugin_ext_dep_scan_path_with_filenames (GstPlugin * plugin, if (filenames == NULL || *filenames == NULL) filenames = empty_filenames; - recurse_into_dirs = !!(flags & GST_PLUGIN_DEPENDENCY_FLAG_RECURSE); - partial_names = !!(flags & GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX); + recurse_into_dirs = ! !(flags & GST_PLUGIN_DEPENDENCY_FLAG_RECURSE); + partial_names = ! !(flags & GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX); /* if we can construct the exact paths to check with the data we have, just * stat them one by one; this is more efficient than opening the directory * and going through each entry to see if it matches one of our filenames. */ if (!recurse_into_dirs && !partial_names) { for (i = 0; filenames[i] != NULL; ++i) { +#if GLIB_CHECK_VERSION(2,25,0) + GStatBuf s; +#else struct stat s; +#endif + gchar *full_path; guint fhash; diff --git a/gst/gstregistry.c b/gst/gstregistry.c index 71f52b4ae3..a8ed967a0d 100644 --- a/gst/gstregistry.c +++ b/gst/gstregistry.c @@ -1106,7 +1106,11 @@ gst_registry_scan_path_level (GstRegistryScanContext * context, return FALSE; while ((dirent = g_dir_read_name (dir))) { +#if GLIB_CHECK_VERSION(2,25,0) + GStatBuf file_status; +#else struct stat file_status; +#endif filename = g_build_filename (path, dirent, NULL); if (g_stat (filename, &file_status) < 0) { diff --git a/gst/gstregistrybinary.c b/gst/gstregistrybinary.c index d680ebc165..5f3f21ff40 100644 --- a/gst/gstregistrybinary.c +++ b/gst/gstregistrybinary.c @@ -363,7 +363,11 @@ gst_registry_binary_write_cache (GstRegistry * registry, const char *location) continue; if (plugin->flags & GST_PLUGIN_FLAG_CACHED) { +#if GLIB_CHECK_VERSION(2,25,0) + GStatBuf statbuf; +#else struct stat statbuf; +#endif if (g_stat (plugin->filename, &statbuf) < 0 || plugin->file_mtime != statbuf.st_mtime ||