[Xfce4-commits] r25442 - in squeeze/trunk: . libsqueeze

Peter de Ridder peter at xfce.org
Sun Apr 8 14:54:57 CEST 2007


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;



More information about the Xfce4-commits mailing list