diff options
Diffstat (limited to 'winsup/cygwin/syscalls.cc')
-rw-r--r-- | winsup/cygwin/syscalls.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc index 08e99cd1b..b7b2f5cb9 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc @@ -1345,11 +1345,13 @@ system (const char *cmdstring) return res; } -extern "C" void +extern "C" int setdtablesize (int size) { - if (size > (int)fdtab.size) - fdtab.extend (size); + if (size <= (int)fdtab.size || fdtab.extend (size - fdtab.size)) + return 0; + + return -1; } extern "C" int |