From 63affa283744195cd6bd3de6b9c45b2362b8b1b9 Mon Sep 17 00:00:00 2001 From: taw27 Date: Sun, 1 Apr 2007 17:42:13 +0000 Subject: (Slightly) More advanced detection of input file type git-svn-id: svn://cook.msm.cam.ac.uk:745/diff-tomo/dtr@21 bf6ca9ba-c028-0410-8290-897cf20841d1 --- src/cache.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/cache.c') diff --git a/src/cache.c b/src/cache.c index 61fe4bd..f1998b7 100644 --- a/src/cache.c +++ b/src/cache.c @@ -90,3 +90,30 @@ int cache_save(const char *filename, ReflectionContext *rctx) { return 0; } + +unsigned int cache_is_cachefile(const char *filename) { + + FILE *fh; + CacheHeader ch; + size_t nread; + + fh = fopen(filename, "rb"); + nread = fread(&ch, sizeof(CacheHeader), 1, fh); + fclose(fh); + + if ( nread != 1 ) { + return 0; + } + + if ( strncmp(ch.top, "DTRCACHE", 8) == 0 ) { + return 1; + } + + /* Backwards compatability */ + if ( strncmp(ch.top, "DTR-CACHE", 9) == 0 ) { + return 1; + } + + return 0; + +} -- cgit v1.2.3