X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=support%2Ffcntl.c;h=d7e9c481180b18e20420f007737c441cdf06f6bd;hb=a5e40870bd3bb18e1681afed6c71e7edfdb80534;hp=7914e41dd5777c0719738d4a33d28c964bb2353c;hpb=9975a45f43793e34318e593ddacd3f332f8d91c0;p=mono.git diff --git a/support/fcntl.c b/support/fcntl.c index 7914e41dd57..d7e9c481180 100644 --- a/support/fcntl.c +++ b/support/fcntl.c @@ -66,26 +66,13 @@ Mono_Posix_Syscall_fcntl_lock (gint32 fd, gint32 cmd, struct Mono_Posix_Flock *l return -1; } - mph_return_if_off_t_overflow (lock->l_start); - mph_return_if_off_t_overflow (lock->l_len); - - if (Mono_Posix_FromLockType (lock->l_type, &lock->l_type) == -1) + if (Mono_Posix_FromFlock (lock, &_lock) == -1) return -1; - _lock.l_type = lock->l_type; - _lock.l_whence = lock->l_whence; - _lock.l_start = lock->l_start; - _lock.l_len = lock->l_len; - _lock.l_pid = lock->l_pid; r = fcntl (fd, cmd, &_lock); - if (Mono_Posix_ToLockType (_lock.l_type, &_lock.l_type) == -1) - r = -1; - lock->l_type = _lock.l_type; - lock->l_whence = _lock.l_whence; - lock->l_start = _lock.l_start; - lock->l_len = _lock.l_len; - lock->l_pid = _lock.l_pid; + if (Mono_Posix_ToFlock (&_lock, lock) == -1) + return -1; return r; }