remove(spCacheFilename);
#endif
//if cache is still existing, we need to write back the rest of the cache
- while (cache)
+ if (cache)
{
- cachePointer next = cache->next;
- write_to_cache(cache->game,cache->system,cache->prid,cache->score,0);
- free(cache);
- cache = next;
+ SDL_RWops *file = SDL_RWFromFile(spCacheFilename, "ab");
+ while (cache)
+ {
+ cachePointer next = cache->next;
+ SDL_RWwrite(file,cache->game,256,1);
+ SDL_RWwrite(file,cache->system,256,1);
+ SDL_RWwrite(file,cache->prid,256,1);
+ SDL_RWwrite(file,&(cache->score),sizeof(int),1);
+ free(cache);
+ cache = next;
+ }
+ SDL_RWclose(file);
}
}