0.8.11claws97
[claws.git] / src / msgcache.c
index 9bdf3a3..961b0df 100644 (file)
@@ -311,13 +311,12 @@ void msgcache_read_mark(MsgCache *cache, const gchar *mark_file)
 #define WRITE_CACHE_DATA(data, fp) \
 { \
        gint len; \
- \
-       if (data == NULL || (len = strlen(data)) == 0) { \
+       if (data == NULL) \
                len = 0; \
-               WRITE_CACHE_DATA_INT(len, fp); \
-       } else { \
+       else \
                len = strlen(data); \
-               WRITE_CACHE_DATA_INT(len, fp); \
+       WRITE_CACHE_DATA_INT(len, fp); \
+       if (len > 0) { \
                fwrite(data, len, 1, fp); \
        } \
 }
@@ -364,7 +363,7 @@ static void msgcache_write_func(gpointer key, gpointer value, gpointer user_data
 {
        MsgInfo *msginfo;
        struct write_fps *write_fps;
-       
+
        msginfo = (MsgInfo *)value;
        write_fps = user_data;
 
@@ -446,15 +445,15 @@ MsgInfo *msgcache_get_msg_by_id(MsgCache *cache, const gchar *msgid)
 
 static void msgcache_get_msg_list_func(gpointer key, gpointer value, gpointer user_data)
 {
-       GSList **listptr = user_data;
+       MsgInfoList **listptr = user_data;
        MsgInfo *msginfo = value;
 
        *listptr = g_slist_prepend(*listptr, procmsg_msginfo_new_ref(msginfo));
 }
 
-GSList *msgcache_get_msg_list(MsgCache *cache)
+MsgInfoList *msgcache_get_msg_list(MsgCache *cache)
 {
-       GSList *msg_list = NULL;
+       MsgInfoList *msg_list = NULL;
 
        g_return_val_if_fail(cache != NULL, NULL);