<div dir="ltr"><div>I should've taken that into consideration. I didn't because I get used to</div><div>check all those headers in /usr/include in my native env (fc27.x86_64). I</div><div>am aware now and will be careful from now on (check all those macros and</div><div>values directly from linux.git).</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jul 12, 2018 at 1:17 AM Zhibin Li <<a href="mailto:08826794brmt@gmail.com">08826794brmt@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Oh, my bad. I didn't realize that. I should really use those macros directly.</div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jul 12, 2018 at 12:13 AM Dmitry V. Levin <<a href="mailto:ldv@altlinux.org" target="_blank">ldv@altlinux.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Jul 11, 2018 at 05:51:10PM +0800, Zhibin Li wrote:<br>
> * tests/fcntl-common.c: Include <assert.h>.<br>
> (fcntl_cmd_check): New structure.<br>
> (print_retval_flags, test_other_set_cmd, test_other_get_cmd,<br>
> print_flags_getfd, print_flags_getsig, print_flags_getlease,<br>
> test_fcntl_others): New functions.<br>
> (main): Use test_fcntl_others.<br>
[...]<br>
> +static void<br>
> +print_flags_getlease(long rc)<br>
> +{<br>
> +     assert(rc >= 0);<br>
> +     const char *text;<br>
> +<br>
> +     switch (rc) {<br>
> +     case 0:<br>
> +             text = "F_RDLCK";<br>
> +             break;<br>
> +     case 1:<br>
> +             text = "F_WRLCK";<br>
> +             break;<br>
> +     case 2:<br>
> +             text = "F_UNLCK";<br>
> +             break;<br>
<br>
Why do you want to use numbers here?<br>
This approach wouldn't work well across architectures:<br>
<br>
$ git grep -Fw F_UNLCK include/uapi/ arch/*/include/uapi/<br>
arch/alpha/include/uapi/asm/fcntl.h:#define F_UNLCK             8<br>
arch/parisc/include/uapi/asm/fcntl.h:#define F_UNLCK            03<br>
arch/sparc/include/uapi/asm/fcntl.h:#define F_UNLCK             3<br>
include/uapi/asm-generic/fcntl.h:#define F_UNLCK                2<br>
<br>
<br>
-- <br>
ldv<br>
</blockquote></div>
</blockquote></div>