* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#include <locale.h>
+#include <clocale>
#include "main.h"
#include "metadata.h"
GList *old_values = entry->next;
entry->next = nullptr;
old_values->prev = nullptr;
- string_list_free(old_values);
+ g_list_free_full(old_values, g_free);
work->data = g_list_append(entry, string_list_copy(values));
DEBUG_1("updated %s %s\n", key, fd->path);
return;
if (strcmp(entry_key, key) == 0)
{
/* key found */
- string_list_free(entry);
+ g_list_free_full(entry, g_free);
fd->cached_metadata = g_list_delete_link(fd->cached_metadata, work);
DEBUG_1("removed %s %s\n", key, fd->path);
return;
void metadata_cache_free(FileData *fd)
{
- GList *work;
if (fd->cached_metadata) DEBUG_1("freed %s\n", fd->path);
- work = fd->cached_metadata;
- while (work)
+ g_list_free_full(fd->cached_metadata, [](gpointer data)
{
- auto entry = static_cast<GList *>(work->data);
- string_list_free(entry);
-
- work = work->next;
- }
- g_list_free(fd->cached_metadata);
+ auto entry = static_cast<GList *>(data);
+ g_list_free_full(entry, g_free);
+ });
fd->cached_metadata = nullptr;
}
return TRUE;
}
-//gboolean metadata_write_queue_remove_list(GList *list)
-//{
- //GList *work;
- //gboolean ret = TRUE;
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-function"
+gboolean metadata_write_queue_remove_list_unused(GList *list)
+{
+ GList *work;
+ gboolean ret = TRUE;
- //work = list;
- //while (work)
- //{
- //FileData *fd = static_cast<//FileData *>(work->data);
- //work = work->next;
- //ret = ret && metadata_write_queue_remove(fd);
- //}
- //return ret;
-//}
+ work = list;
+ while (work)
+ {
+ FileData *fd = static_cast<FileData *>(work->data);
+ work = work->next;
+ ret = ret && metadata_write_queue_remove(fd);
+ }
+ return ret;
+}
+#pragma GCC diagnostic pop
-void metadata_notify_cb(FileData *fd, NotifyType type, gpointer UNUSED(data))
+void metadata_notify_cb(FileData *fd, NotifyType type, gpointer)
{
if (type & (NOTIFY_REREAD | NOTIFY_CHANGE))
{
return (metadata_write_queue != nullptr);
}
-static gboolean metadata_write_queue_idle_cb(gpointer UNUSED(data))
+static gboolean metadata_write_queue_idle_cb(gpointer)
{
metadata_write_queue_confirm(FALSE, nullptr, nullptr);
metadata_write_idle_id = 0;
{
GList *list = g_list_append(nullptr, g_strdup(value));
gboolean ret = metadata_write_list(fd, key, list);
- string_list_free(list);
+ g_list_free_full(list, g_free);
return ret;
}
g_free(metadata_pathl);
g_free(orig_comment);
- string_list_free(orig_keywords);
+ g_list_free_full(orig_keywords, g_free);
return success;
}
}
else
{
- string_list_free(list);
+ g_list_free_full(list, g_free);
}
if (comment_build)
{
auto str = static_cast<gchar *>(string_list->data);
string_list->data = nullptr;
- string_list_free(string_list);
+ g_list_free_full(string_list, g_free);
return str;
}
return nullptr;
list = remove_duplicate_strings_from_list(list);
ret = metadata_write_list(fd, key, list);
- string_list_free(list);
+ g_list_free_full(list, g_free);
return ret;
}
}
*/
-gboolean meta_data_get_keyword_mark(FileData *fd, gint UNUSED(n), gpointer data)
+gboolean meta_data_get_keyword_mark(FileData *fd, gint, gpointer data)
{
/** @FIXME do not use global keyword_tree */
auto path = static_cast<GList *>(data);
return found;
}
-gboolean meta_data_set_keyword_mark(FileData *fd, gint UNUSED(n), gboolean value, gpointer data)
+gboolean meta_data_set_keyword_mark(FileData *fd, gint, gboolean value, gpointer data)
{
auto path = static_cast<GList *>(data);
GList *keywords = nullptr;
metadata_write_list(fd, KEYWORD_KEY, keywords);
}
- string_list_free(keywords);
+ g_list_free_full(keywords, g_free);
return TRUE;
}
while (TRUE)
{
- if (!(exclude_sibling && sibling && keyword_compare(keyword_tree, &iter, sibling) == 0))
+ if (!exclude_sibling || !sibling || keyword_compare(keyword_tree, &iter, sibling) != 0)
{
if (options->metadata.keywords_case_sensitive)
{
ret = keyword_tree_is_set_casefold(keyword_tree, *iter, casefold_list);
- string_list_free(casefold_list);
+ g_list_free_full(casefold_list, g_free);
}
return ret;
return !!g_list_find(list, id);
}
-static gboolean keyword_show_all_in_cb(GtkTreeModel *model, GtkTreePath *UNUSED(path), GtkTreeIter *iter, gpointer data)
+static gboolean keyword_show_all_in_cb(GtkTreeModel *model, GtkTreePath *, GtkTreeIter *iter, gpointer data)
{
keyword_show_in(GTK_TREE_STORE(model), iter, data);
return FALSE;
gtk_tree_model_foreach(GTK_TREE_MODEL(keyword_tree), keyword_show_all_in_cb, id);
}
-static gboolean keyword_revert_hidden_in_cb(GtkTreeModel *model, GtkTreePath *UNUSED(path), GtkTreeIter *iter, gpointer data)
+static gboolean keyword_revert_hidden_in_cb(GtkTreeModel *model, GtkTreePath *, GtkTreeIter *iter, gpointer data)
{
if (keyword_is_hidden_in(GTK_TREE_MODEL(keyword_tree), iter, data))
{
keyword_hide_unset_in_recursive(keyword_tree, &iter, id, keywords);
}
-static gboolean keyword_show_set_in_cb(GtkTreeModel *model, GtkTreePath *UNUSED(path), GtkTreeIter *iter_ptr, gpointer data)
+static gboolean keyword_show_set_in_cb(GtkTreeModel *model, GtkTreePath *, GtkTreeIter *iter_ptr, gpointer data)
{
GtkTreeIter iter = *iter_ptr;
auto keywords = static_cast<GList *>(data);