X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/adns/blobdiff_plain/68948548ee3e88d02f18e3a88cb6ce0a8324a0e4..09a06b84370268b712de43ef3ff71c47f48e9b6e:/regress/hrecord.c.m4 diff --git a/regress/hrecord.c.m4 b/regress/hrecord.c.m4 index e383ac5..7300689 100644 --- a/regress/hrecord.c.m4 +++ b/regress/hrecord.c.m4 @@ -104,6 +104,16 @@ int H$1(hm_args_massage($3,void)) { if (r==-1) { Tvberrno(e); goto x_error; } Tmust("$1","return",r<=$'`1); Tvba("OK");') + m4_define(`hm_rv_fcntl',` + if (r==-1) { Tvberrno(e); goto x_error; } + if (cmd == F_GETFL) { + Tvbf(r & O_NONBLOCK ? "O_NONBLOCK|..." : "~O_NONBLOCK&..."); + } else if (cmd == F_SETFL) { + Tmust("$1","return",!r); + } else { + Tmust("cmd","F_GETFL/F_SETFL",0); + } + Tvba("OK");') $2 hm_create_nothing @@ -119,6 +129,7 @@ int H$1(hm_args_massage($3,void)) { m4_define(`hm_rv_fd',`x_error:') m4_define(`hm_rv_succfail',`x_error:') m4_define(`hm_rv_len',`x_error:') + m4_define(`hm_rv_fcntl',`x_error:') m4_define(`hm_rv_must',`') $2