Author: peter
Date: 2007-04-08 12:54:57 +0000 (Sun, 08 Apr 2007)
New Revision: 25442

Modified:
   squeeze/trunk/TODO
   squeeze/trunk/libsqueeze/archive-iter.c
Log:
roadmap updated
invalid read in archive free fixed


Modified: squeeze/trunk/TODO
===================================================================
--- squeeze/trunk/TODO  2007-04-08 12:49:41 UTC (rev 25441)
+++ squeeze/trunk/TODO  2007-04-08 12:54:57 UTC (rev 25442)
@@ -13,10 +13,12 @@
        Settings dialog
        Bug fixes
        More support objects
-       Improve custom action system
+       Review libsqueeze
 
 0.3:
-       Review libsqueeze
        Make support objects plugins
+       Custom archive action
+       Password support
+       Improve the user interface
 
 ---------------------------------------------------------------

Modified: squeeze/trunk/libsqueeze/archive-iter.c
===================================================================
--- squeeze/trunk/libsqueeze/archive-iter.c     2007-04-08 12:49:41 UTC (rev 
25441)
+++ squeeze/trunk/libsqueeze/archive-iter.c     2007-04-08 12:54:57 UTC (rev 
25442)
@@ -135,7 +135,6 @@
  * LSQArchiveIterPool stuff *
  ****************************/
 
-#ifdef DEBUG
 void lsq_archive_iter_pool_print()
 {
        guint i;
@@ -146,8 +145,13 @@
                else
                        printf("%d %d %p %s\t(no parent)\n", i, 
pool->pool[i]->ref_count, pool->pool[i]->entry, 
pool->pool[i]->entry?pool->pool[i]->entry->filename:"(no entry)");
        }
+#ifdef USE_LSQITER_SLICES
+       for(; i < pool->reserved; ++i)
+       {
+               printf("%d %p\n", i, pool->pool[i]);
+       }
+#endif
 }
-#endif
 
 inline static void
 lsq_archive_iter_pool_free(LSQArchiveIterPool *pool)
@@ -172,6 +176,20 @@
                g_free(pool->pool[i]);
 #endif
        }
+#ifdef USE_LSQITER_SLICES
+       for(; i < pool->reserved; ++i)
+       {
+               /* Cleaning up the whole pool */
+               /* Now we can free the iters  */
+               if(!pool->pool[i])
+                       break;
+#ifdef USE_GSLICES
+               g_slice_free(LSQArchiveIter, pool->pool[i]);
+#else
+               g_free(pool->pool[i]);
+#endif
+       }
+#endif
        g_free(pool->pool);
        g_free(pool);
 }
@@ -514,8 +532,7 @@
                back_iter = g_slist_next(back_iter);
                if(!back_iter)
                        break;
-               if(!lsq_archive_entry_get_child(parent->entry,
-                                  
lsq_archive_entry_get_filename(((LSQArchiveIter*)back_iter->data)->entry)))
+               
if(!lsq_archive_entry_get_filename(((LSQArchiveIter*)back_iter->data)->entry) 
|| !lsq_archive_entry_get_child(parent->entry, 
lsq_archive_entry_get_filename(((LSQArchiveIter*)back_iter->data)->entry)))
                {
                        g_slist_free(back_stack);
                        return FALSE;

_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to