Re: [PATCH] compat: convert modes to use portable file type values
- From
Torsten Bögershausen <tboegi@web.de>
- Date
- Nov 30, 2014, 20:16 UTC
- Message-ID
- <547B7B27.90204@web.de>
- In-Reply-To
- <87vblxl8ah.fsf@gmail.com>
On 2014-11-30 03.41, David Michael wrote: Some minor comments:
Show 17 quoted lines
> +static inline mode_t mode_native_to_git(mode_t native_mode)
> +{
> + if (S_ISREG(native_mode))
> + return 0100000 | (native_mode & 07777);
> + else if (S_ISDIR(native_mode))
> + return 0040000 | (native_mode & 07777);
> + else if (S_ISLNK(native_mode))
> + return 0120000 | (native_mode & 07777);
> + else if (S_ISBLK(native_mode))
> + return 0060000 | (native_mode & 07777);
> + else if (S_ISCHR(native_mode))
> + return 0020000 | (native_mode & 07777);
> + else if (S_ISFIFO(native_mode))
> + return 0010000 | (native_mode & 07777);
> + else /* Non-standard type bits were given. */
> + return native_mode & 07777;
> +}Could the code be more human-readable ?
static inline mode_t mode_native_to_git(mode_t native_mode)
{
int perm_bits = native_mode & 07777;
if (S_ISREG(native_mode))
return 0100000 | perm_bits;
if (S_ISDIR(native_mode))
return 0040000 | perm_bits;
if (S_ISLNK(native_mode))
return 0120000 | perm_bits;
if (S_ISBLK(native_mode))
return 0060000 | perm_bits;
if (S_ISCHR(native_mode))
return 0020000 | perm_bits;
if (S_ISFIFO(native_mode))
return 0010000 | perm_bits;
/* Non-standard type bits were given. */
/* Shouldn't we die() here ?? */
return perm_bits;
}