diff options
author | taw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1> | 2007-04-01 17:42:13 +0000 |
---|---|---|
committer | taw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1> | 2007-04-01 17:42:13 +0000 |
commit | 63affa283744195cd6bd3de6b9c45b2362b8b1b9 (patch) | |
tree | 07485f750f11a1d03db81b43b265fd596a376046 /src/cache.c | |
parent | 3a6347591e01e019d25df3faf274152cb97edb1d (diff) |
(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
Diffstat (limited to 'src/cache.c')
-rw-r--r-- | src/cache.c | 27 |
1 files changed, 27 insertions, 0 deletions
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; + +} |