allow writing of empty keywords/comment
authorVladimir Nadvornik <nadvornik@suse.cz>
Tue, 23 Dec 2008 22:42:57 +0000 (22:42 +0000)
committerVladimir Nadvornik <nadvornik@suse.cz>
Tue, 23 Dec 2008 22:42:57 +0000 (22:42 +0000)
src/bar_info.c
src/metadata.c
src/metadata.h

index 79ff955..427440a 100644 (file)
@@ -403,7 +403,7 @@ static void bar_info_write(BarInfoData *bd)
        list = keyword_list_pull(bd->keyword_view);
        comment = comment_pull(bd->comment_view);
 
-       metadata_write(bd->fd, list, comment);
+       metadata_write(bd->fd, &list, &comment);
 
        string_list_free(list);
        g_free(comment);
index c443fd9..8204e71 100644 (file)
@@ -586,15 +586,15 @@ static gint metadata_xmp_read(FileData *fd, GList **keywords, gchar **comment)
        return (comment && *comment) || (keywords && *keywords);
 }
 
-gint metadata_write(FileData *fd, GList *keywords, const gchar *comment)
+gint metadata_write(FileData *fd, GList **keywords, gchar **comment)
 {
        gint success = TRUE;
-       gint write_comment = (comment && comment[0]);
+       gint write_comment = (comment && *comment);
 
        if (!fd) return FALSE;
 
-       if (write_comment) success = success && metadata_write_string(fd, COMMENT_KEY, comment);
-       if (keywords) success = success && metadata_write_list(fd, KEYWORD_KEY, string_list_copy(keywords));
+       if (write_comment) success = success && metadata_write_string(fd, COMMENT_KEY, *comment);
+       if (keywords) success = success && metadata_write_list(fd, KEYWORD_KEY, string_list_copy(*keywords));
        
        if (options->metadata.sync_grouped_files)
                {
@@ -607,8 +607,8 @@ gint metadata_write(FileData *fd, GList *keywords, const gchar *comment)
                        
                        if (filter_file_class(sfd->extension, FORMAT_CLASS_META)) continue; 
 
-                       if (write_comment) success = success && metadata_write_string(sfd, COMMENT_KEY, comment);
-                       if (keywords) success = success && metadata_write_list(sfd, KEYWORD_KEY, string_list_copy(keywords));
+                       if (write_comment) success = success && metadata_write_string(sfd, COMMENT_KEY, *comment);
+                       if (keywords) success = success && metadata_write_list(sfd, KEYWORD_KEY, string_list_copy(*keywords));
                        }
                }
 
@@ -730,7 +730,7 @@ void metadata_set(FileData *fd, GList *new_keywords, gchar *new_comment, gboolea
                        }
                }
        
-       metadata_write(fd, keywords_list, comment);
+       metadata_write(fd, &keywords_list, &comment);
 
        string_list_free(keywords);
        g_free(comment);
index 3bda94b..ef32970 100644 (file)
@@ -20,7 +20,7 @@ gboolean metadata_write_queue_confirm(void);
 
 
 
-gint metadata_write(FileData *fd, GList *keywords, const gchar *comment);
+gint metadata_write(FileData *fd, GList **keywords, gchar **comment);
 
 gint metadata_read(FileData *fd, GList **keywords, gchar **comment);