diff options
author | robi6 <robi6@users.sourceforge.net> | 2014-09-03 00:20:38 +0200 |
---|---|---|
committer | robi6 <robi6@users.sourceforge.net> | 2014-09-03 00:20:38 +0200 |
commit | 3b5b530a4758758d005dc5f1015c045b83bf3326 (patch) | |
tree | d735279d1c95bc7c63a6d6cb27a96e9c82ea98e2 /src/ext4magic.c | |
parent | 81b4bae28a6e54616bef8e4c6c7718bbf1337cc4 (diff) |
for future use, interface for privat magic db
Diffstat (limited to 'src/ext4magic.c')
-rw-r--r-- | src/ext4magic.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/ext4magic.c b/src/ext4magic.c index 58037c6..56ff0d7 100644 --- a/src/ext4magic.c +++ b/src/ext4magic.c @@ -57,7 +57,7 @@ extern char *optarg; #include "block.h" - +extern char* magicfile = NULL; ext2_filsys current_fs = NULL; ext2_ino_t root, cwd; ext2fs_inode_bitmap imap = NULL ; @@ -739,6 +739,20 @@ if ((mode && magicscan) || disaster){ } mode |= INPUT_TIME; } + magicfile = malloc(64); + strncpy (magicfile,"/usr/share/misc/ext4magic",25); + retval = stat (magicfile, &filestat); + if (retval){ + strncpy (magicfile,"/usr/local/share/misc/ext4magic",31); + retval = stat (magicfile, &filestat); + } + if ((! retval) && (S_ISREG(filestat.st_mode) && (! access(magicfile,R_OK)))) { + printf("use magic-db on \"%s\"\n",magicfile); + } + else { + free(magicfile); + magicfile=NULL; + } } } @@ -1181,6 +1195,8 @@ errout: if (bmap) ext2fs_free_inode_bitmap(bmap); imap = NULL; bmap = NULL; + if (magicfile) free(magicfile); + magicfile = NULL; retval = ext2fs_close(current_fs); if (retval) { fprintf(stderr, "ext2fs_close\n"); |