+gint metadata_write_list(FileData *fd, const gchar *key, GList *values)
+{
+ if (!fd->modified_xmp)
+ {
+ fd->modified_xmp = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)string_list_free);
+ }
+ g_hash_table_insert(fd->modified_xmp, g_strdup(key), values);
+ if (fd->exif)
+ {
+ exif_update_metadata(fd->exif, key, values);
+ }
+ return TRUE;
+}
+
+gint metadata_write_string(FileData *fd, const gchar *key, const char *value)
+{
+ return metadata_write_list(fd, key, g_list_append(NULL, g_strdup(value)));
+}
+
+