Written by Richard W.M. Jones <rjones.at.redhat.com>
- Copyright (C) 2008 Free Software Foundation, Inc.
+ Copyright (C) 2008-2011 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
{
DWORD err = GetLastError ();
switch (err)
- {
- /* This means someone else is holding a lock. */
- case ERROR_LOCK_VIOLATION:
- errno = EAGAIN;
- break;
-
- /* Out of memory. */
- case ERROR_NOT_ENOUGH_MEMORY:
- errno = ENOMEM;
- break;
-
- case ERROR_BAD_COMMAND:
- errno = EINVAL;
- break;
-
- /* Unlikely to be other errors, but at least don't lose the
- * error code.
- */
- default:
- errno = err;
- }
+ {
+ /* This means someone else is holding a lock. */
+ case ERROR_LOCK_VIOLATION:
+ errno = EAGAIN;
+ break;
+
+ /* Out of memory. */
+ case ERROR_NOT_ENOUGH_MEMORY:
+ errno = ENOMEM;
+ break;
+
+ case ERROR_BAD_COMMAND:
+ errno = EINVAL;
+ break;
+
+ /* Unlikely to be other errors, but at least don't lose the
+ * error code.
+ */
+ default:
+ errno = err;
+ }
return -1;
}
#else /* !Windows */
-#ifdef HAVE_FLOCK_L_TYPE
+#ifdef HAVE_STRUCT_FLOCK_L_TYPE
/* We know how to implement flock in terms of fcntl. */
#ifdef HAVE_FCNTL_H
#include <unistd.h>
#endif
+#include <errno.h>
+#include <string.h>
+
int
flock (int fd, int operation)
{
return r;
}
-#else /* !HAVE_FLOCK_L_TYPE */
+#else /* !HAVE_STRUCT_FLOCK_L_TYPE */
#error "This platform lacks flock function, and Gnulib doesn't provide a replacement. This is a bug in Gnulib."
-#endif /* !HAVE_FLOCK_L_TYPE */
+#endif /* !HAVE_STRUCT_FLOCK_L_TYPE */
#endif /* !Windows */