From: Christos Zoulas Date: Sun, 26 Aug 2012 11:00:58 +0000 (+0000) Subject: PR/191: Look in $HOME/.magic.mgc too X-Git-Tag: FILE5_12~62 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9c184f0ea85ebc2291af364674d2b940a9dd3e40;p=file PR/191: Look in $HOME/.magic.mgc too --- diff --git a/src/magic.c b/src/magic.c index 7eb0441b..2b610809 100644 --- a/src/magic.c +++ b/src/magic.c @@ -33,7 +33,7 @@ #include "file.h" #ifndef lint -FILE_RCSID("@(#)$File: magic.c,v 1.73 2011/05/10 17:08:14 christos Exp $") +FILE_RCSID("@(#)$File: magic.c,v 1.74 2011/05/26 01:27:59 christos Exp $") #endif /* lint */ #include "magic.h" @@ -101,16 +101,21 @@ get_default_magic(void) if ((home = getenv("HOME")) == NULL) return MAGIC; - if (asprintf(&hmagicpath, "%s/.magic", home) < 0) + if (asprintf(&hmagicpath, "%s/.magic.mgc", home) < 0) return MAGIC; - if (stat(hmagicpath, &st) == -1) - goto out; - if (S_ISDIR(st.st_mode)) { + if (stat(hmagicpath, &st) == -1) { free(hmagicpath); - if (asprintf(&hmagicpath, "%s/%s", home, hmagic) < 0) + if (asprintf(&hmagicpath, "%s/.magic", home) < 0) return MAGIC; - if (access(hmagicpath, R_OK) == -1) + if (stat(hmagicpath, &st) == -1) goto out; + if (S_ISDIR(st.st_mode)) { + free(hmagicpath); + if (asprintf(&hmagicpath, "%s/%s", home, hmagic) < 0) + return MAGIC; + if (access(hmagicpath, R_OK) == -1) + goto out; + } } if (asprintf(&default_magic, "%s:%s", hmagicpath, MAGIC) < 0)