Network endian for mark and cache files
[claws.git] / src / msgcache.c
index 00a4c72d5b549a25a2e4bf20bf4246ece6198da9..6ee5bf480e6f83a657ad04509d3f7d9a4c64d85d 100644 (file)
@@ -305,23 +305,6 @@ void msgcache_read_mark(MsgCache *cache, const gchar *mark_file)
        fclose(fp);
 }
 
-#define WRITE_CACHE_DATA_INT(n, fp) \
-       fwrite(&n, sizeof(n), 1, fp)
-
-#define WRITE_CACHE_DATA(data, fp) \
-{ \
-       gint len; \
- \
-       if (data == NULL || (len = strlen(data)) == 0) { \
-               len = 0; \
-               WRITE_CACHE_DATA_INT(len, fp); \
-       } else { \
-               len = strlen(data); \
-               WRITE_CACHE_DATA_INT(len, fp); \
-               fwrite(data, len, 1, fp); \
-       } \
-}
-
 void msgcache_write_cache(MsgInfo *msginfo, FILE *fp)
 {
        MsgTmpFlags flags = msginfo->flags.tmp_flags & MSG_CACHED_FLAG_MASK;
@@ -449,7 +432,7 @@ static void msgcache_get_msg_list_func(gpointer key, gpointer value, gpointer us
        GSList **listptr = user_data;
        MsgInfo *msginfo = value;
 
-       *listptr = g_slist_append(*listptr, procmsg_msginfo_new_ref(msginfo));
+       *listptr = g_slist_prepend(*listptr, procmsg_msginfo_new_ref(msginfo));
 }
 
 GSList *msgcache_get_msg_list(MsgCache *cache)
@@ -460,6 +443,8 @@ GSList *msgcache_get_msg_list(MsgCache *cache)
 
        g_hash_table_foreach((GHashTable *)cache->msgnum_table, msgcache_get_msg_list_func, (gpointer)&msg_list);       
        cache->last_access = time(NULL);
+       
+       msg_list = g_slist_reverse(msg_list);
 
        return msg_list;
 }