From: Torsten Bögershausen Date: Sun, 30 Nov 2014 20:16:39 GMT Subject: Re: [PATCH] compat: convert modes to use portable file type values 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: > +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; }