diff --git a/include/ircd/util.h b/include/ircd/util.h index 45c76d28f..a4214422c 100644 --- a/include/ircd/util.h +++ b/include/ircd/util.h @@ -641,15 +641,15 @@ struct values // Error-checking closure for POSIX system calls. Note the usage is // syscall(read, foo, bar, baz) not a macro like syscall(read(foo, bar, baz)); // -template auto syscall(function&& f, args&&... a) --> typename std::enable_if::value, int>::type +-> typename std::enable_if::value, long>::type { - const int ret + const auto ret { f(std::forward(a)...) }; @@ -664,15 +664,15 @@ syscall(function&& f, // Error-checking closure for POSIX system calls. Note the usage is // syscall(read, foo, bar, baz) not a macro like syscall(read(foo, bar, baz)); // -template auto uninterruptible_syscall(function&& f, args&&... a) --> typename std::enable_if::value, int>::type +-> typename std::enable_if::value, long>::type { - int ret; do + long ret; do { ret = f(std::forward(a)...); }