[PATCH] umount: always use umount2 syscall with specified flags
Denys Vlasenko
vda.linux at googlemail.com
Mon Oct 5 17:04:12 UTC 2015
On Sat, Oct 3, 2015 at 12:58 PM, Xabier Oneca -- xOneca
<xoneca at gmail.com> wrote:
> Hello,
>
> Excuse my ignorance, but what does this typedef do?
>
> ------------------
> {
> typedef char bug[
> (OPT_FORCE != MNT_FORCE || OPT_LAZY != MNT_DETACH) ? -1 : 1
> ];
> }
> ------------------
>
> My understanding is that this snippet catches when those two constants
> are not equal and then trigger a compiler error by defining a char[-1]
> type. Am I correct? If so, why isn't used the preprocessor #errror
> with a less cryptic error description?
Constants like MNT_FORCE may be enums, not literals.
Preprocessor can't evaluate enums.
More information about the busybox
mailing list