fix valgrind memory leaks/reports, add cache to dump, fix hw probe frame leak, startu...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / cache.C
index de8563a96e26013cdcb599b34e29c5651847bf37..b8e2326dbc823d01aff508590875f8fb0ff420b3 100644 (file)
@@ -125,8 +125,9 @@ SET_TRACE
 int CICache::check_in(Asset *asset)
 {
        total_lock->lock("CICache::check_in");
+       CICacheItem *current = 0;
        if( !check_outs ) {
-               CICacheItem *current = first;
+               current = first;
                while(current && strcmp(current->asset->path, asset->path) != 0)
                        current = NEXT;
                if(current && current->checked_out) {
@@ -272,16 +273,16 @@ int CICache::delete_oldest()
        return result;
 }
 
-void CICache::dump()
+void CICache::dump(FILE *fp)
 {
        CICacheItem *current;
        total_lock->lock("CICache::dump");
-       printf("CICache::dump total size %jd\n", get_memory_usage(0));
+       fprintf(fp, "CICache::dump total size %jd\n", get_memory_usage(0));
        for(current = first; current; current = NEXT)
        {
-               printf("cache item %p asset %p %s age=%d\n",
-                       current, current->asset,
-                       current->asset->path, current->age);
+               fprintf(fp, "cache item %p asset %p %s age=%d checked_out=%p\n",
+                       current, current->asset, current->asset->path,
+                       current->age, (void*)current->checked_out);
        }
        total_lock->unlock();
 }