projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
2010-01-15 Atsushi Enomoto <atsushi@ximian.com>
[mono.git]
/
support
/
fcntl.c
diff --git
a/support/fcntl.c
b/support/fcntl.c
index 3e0424cb90135a9b70a0697c58dc6c3d70108794..d7e9c481180b18e20420f007737c441cdf06f6bd 100644
(file)
--- a/
support/fcntl.c
+++ b/
support/fcntl.c
@@
-4,7
+4,7
@@
* Authors:
* Jonathan Pryor (jonpryor@vt.edu)
*
* Authors:
* Jonathan Pryor (jonpryor@vt.edu)
*
- * Copyright (C) 2004 Jonathan Pryor
+ * Copyright (C) 2004
, 2006
Jonathan Pryor
*/
#ifndef _GNU_SOURCE
*/
#ifndef _GNU_SOURCE
@@
-22,14
+22,6
@@
G_BEGIN_DECLS
G_BEGIN_DECLS
-struct Mono_Posix_Flock {
- gint16 l_type;
- gint16 l_whence;
- mph_off_t l_start;
- mph_off_t l_len;
- mph_pid_t l_pid;
-};
-
gint32
Mono_Posix_Syscall_fcntl (gint32 fd, gint32 cmd)
{
gint32
Mono_Posix_Syscall_fcntl (gint32 fd, gint32 cmd)
{
@@
-74,26
+66,13
@@
Mono_Posix_Syscall_fcntl_lock (gint32 fd, gint32 cmd, struct Mono_Posix_Flock *l
return -1;
}
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;
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);
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;
}
return r;
}