119 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
		
		
			
		
	
	
			119 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
|   | From a6bc98ce25cd9d9dba896e93ed441ff162f6793b Mon Sep 17 00:00:00 2001 | ||
|  | From: Long Nguyen <nguyen.long.908132@gmail.com> | ||
|  | Date: Sun, 9 May 2021 17:43:20 +0700 | ||
|  | Subject: [PATCH 10/14] Properly check for the presence of bitmasks | ||
|  | 
 | ||
|  | ---
 | ||
|  |  src/fsmagic.c | 24 ++++++++++++------------ | ||
|  |  1 file changed, 12 insertions(+), 12 deletions(-) | ||
|  | 
 | ||
|  | diff --git a/src/fsmagic.c b/src/fsmagic.c
 | ||
|  | index 5204f20..7244841 100644
 | ||
|  | --- a/src/fsmagic.c
 | ||
|  | +++ b/src/fsmagic.c
 | ||
|  | @@ -66,7 +66,7 @@ FILE_RCSID("@(#)$File: fsmagic.c,v 1.81 2019/07/16 13:30:32 christos Exp $")
 | ||
|  |  # define minor(dev)  ((dev) & 0xff) | ||
|  |  #endif | ||
|  |  #undef HAVE_MAJOR | ||
|  | -#ifdef	S_IFLNK
 | ||
|  | +#if S_IFLNK != 0
 | ||
|  |  private int | ||
|  |  bad_link(struct magic_set *ms, int err, char *buf) | ||
|  |  { | ||
|  | @@ -108,7 +108,7 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb)
 | ||
|  |  	int ret, did = 0; | ||
|  |  	int mime = ms->flags & MAGIC_MIME; | ||
|  |  	int silent = ms->flags & (MAGIC_APPLE|MAGIC_EXTENSION); | ||
|  | -#ifdef	S_IFLNK
 | ||
|  | +#if S_IFLNK != 0
 | ||
|  |  	char buf[BUFSIZ+4]; | ||
|  |  	ssize_t nch; | ||
|  |  	struct stat tstatbuf; | ||
|  | @@ -122,7 +122,7 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb)
 | ||
|  |  	 * Fstat is cheaper but fails for files you don't have read perms on. | ||
|  |  	 * On 4.2BSD and similar systems, use lstat() to identify symlinks. | ||
|  |  	 */ | ||
|  | -#ifdef	S_IFLNK
 | ||
|  | +#if S_IFLNK != 0
 | ||
|  |  	if ((ms->flags & MAGIC_SYMLINK) == 0) | ||
|  |  		ret = lstat(fn, sb); | ||
|  |  	else | ||
|  | @@ -171,17 +171,17 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb)
 | ||
|  |   | ||
|  |  	ret = 1; | ||
|  |  	if (!mime && !silent) { | ||
|  | -#ifdef S_ISUID
 | ||
|  | +#if S_ISUID != 0
 | ||
|  |  		if (sb->st_mode & S_ISUID) | ||
|  |  			if (file_printf(ms, "%ssetuid", COMMA) == -1) | ||
|  |  				return -1; | ||
|  |  #endif | ||
|  | -#ifdef S_ISGID
 | ||
|  | +#if S_ISGID != 0
 | ||
|  |  		if (sb->st_mode & S_ISGID) | ||
|  |  			if (file_printf(ms, "%ssetgid", COMMA) == -1) | ||
|  |  				return -1; | ||
|  |  #endif | ||
|  | -#ifdef S_ISVTX
 | ||
|  | +#if S_ISVTX != 0
 | ||
|  |  		if (sb->st_mode & S_ISVTX) | ||
|  |  			if (file_printf(ms, "%ssticky", COMMA) == -1) | ||
|  |  				return -1; | ||
|  | @@ -197,7 +197,7 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb)
 | ||
|  |  		} else if (file_printf(ms, "%sdirectory", COMMA) == -1) | ||
|  |  			return -1; | ||
|  |  		break; | ||
|  | -#ifdef S_IFCHR
 | ||
|  | +#if S_IFCHR != 0
 | ||
|  |  	case S_IFCHR: | ||
|  |  		/* | ||
|  |  		 * If -s has been specified, treat character special files | ||
|  | @@ -232,7 +232,7 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb)
 | ||
|  |  		} | ||
|  |  		break; | ||
|  |  #endif | ||
|  | -#ifdef S_IFBLK
 | ||
|  | +#if S_IFBLK != 0
 | ||
|  |  	case S_IFBLK: | ||
|  |  		/* | ||
|  |  		 * If -s has been specified, treat block special files | ||
|  | @@ -268,7 +268,7 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb)
 | ||
|  |  		break; | ||
|  |  #endif | ||
|  |  	/* TODO add code to handle V7 MUX and Blit MUX files */ | ||
|  | -#ifdef	S_IFIFO
 | ||
|  | +#if S_IFIFO != 0
 | ||
|  |  	case S_IFIFO: | ||
|  |  		if((ms->flags & MAGIC_DEVICES) != 0) | ||
|  |  			break; | ||
|  | @@ -280,7 +280,7 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb)
 | ||
|  |  			return -1; | ||
|  |  		break; | ||
|  |  #endif | ||
|  | -#ifdef	S_IFDOOR
 | ||
|  | +#if S_IFDOOR != 0
 | ||
|  |  	case S_IFDOOR: | ||
|  |  		if (mime) { | ||
|  |  			if (handle_mime(ms, mime, "door") == -1) | ||
|  | @@ -290,7 +290,7 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb)
 | ||
|  |  			return -1; | ||
|  |  		break; | ||
|  |  #endif | ||
|  | -#ifdef	S_IFLNK
 | ||
|  | +#if S_IFLNK != 0
 | ||
|  |  	case S_IFLNK: | ||
|  |  		if ((nch = readlink(fn, buf, BUFSIZ-1)) <= 0) { | ||
|  |  			if (ms->flags & MAGIC_ERROR) { | ||
|  | @@ -378,7 +378,7 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb)
 | ||
|  |  		} | ||
|  |  		break; | ||
|  |  #endif | ||
|  | -#ifdef	S_IFSOCK
 | ||
|  | +#if S_IFSOCK != 0
 | ||
|  |  #ifndef __COHERENT__ | ||
|  |  	case S_IFSOCK: | ||
|  |  		if (mime) { | ||
|  | -- 
 | ||
|  | 2.29.2.windows.2 | ||
|  | 
 |