mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-10 05:17:59 +03:00
Fix mingw32 portability
This commit is contained in:
parent
0722925986
commit
d9ec9c6937
@ -1,3 +1,10 @@
|
||||
Thu Apr 2 19:41:00 BST 2009 Daniel P. Berrange <berrange@redhat.com>
|
||||
|
||||
Mingw portability fixes
|
||||
* src/util.c: Fix virFileResolveLink for Win32 platform.
|
||||
Fix offset usage in safezero for mmap() and write() impls
|
||||
* configure.in: Add check for readlink()
|
||||
|
||||
Thu Apr 2 15:18:00 CEST 2009 Daniel Veillard <veillard@redhat.com>
|
||||
|
||||
* docs/schemas/domain.rng: some missing disk bus values and cleanups
|
||||
|
@ -72,7 +72,7 @@ dnl Use --disable-largefile if you don't want this.
|
||||
AC_SYS_LARGEFILE
|
||||
|
||||
dnl Availability of various common functions (non-fatal if missing).
|
||||
AC_CHECK_FUNCS([cfmakeraw regexec uname sched_getaffinity getuid getgid posix_fallocate mmap])
|
||||
AC_CHECK_FUNCS([cfmakeraw regexec uname sched_getaffinity getuid getgid posix_fallocate mmap readlink])
|
||||
|
||||
dnl Availability of various not common threadsafe functions
|
||||
AC_CHECK_FUNCS([strerror_r strtok_r getmntent_r getgrnam_r getpwuid_r])
|
||||
@ -937,8 +937,8 @@ if test "$with_storage_scsi" = "check"; then
|
||||
|
||||
AC_DEFINE_UNQUOTED([WITH_STORAGE_SCSI], 1,
|
||||
[whether SCSI backend for storage driver is enabled])
|
||||
AM_CONDITIONAL([WITH_STORAGE_SCSI], [test "$with_storage_scsi" = "yes"])
|
||||
fi
|
||||
AM_CONDITIONAL([WITH_STORAGE_SCSI], [test "$with_storage_scsi" = "yes"])
|
||||
|
||||
|
||||
LIBPARTED_CFLAGS=
|
||||
|
11
src/util.c
11
src/util.c
@ -136,7 +136,7 @@ int safezero(int fd, int flags ATTRIBUTE_UNUSED, off_t offset, off_t len)
|
||||
/* memset wants the mmap'ed file to be present on disk so create a
|
||||
* sparse file
|
||||
*/
|
||||
r = ftruncate(fd, len);
|
||||
r = ftruncate(fd, offset + len);
|
||||
if (r < 0)
|
||||
return -errno;
|
||||
|
||||
@ -158,6 +158,9 @@ int safezero(int fd, int flags ATTRIBUTE_UNUSED, off_t offset, off_t len)
|
||||
char *buf;
|
||||
unsigned long long remain, bytes;
|
||||
|
||||
if (lseek(fd, offset, SEEK_SET) < 0)
|
||||
return errno;
|
||||
|
||||
/* Split up the write in small chunks so as not to allocate lots of RAM */
|
||||
remain = len;
|
||||
bytes = 1024 * 1024;
|
||||
@ -949,6 +952,7 @@ int virFileLinkPointsTo(const char *checkLink,
|
||||
int virFileResolveLink(const char *linkpath,
|
||||
char **resultpath)
|
||||
{
|
||||
#ifdef HAVE_READLINK
|
||||
struct stat st;
|
||||
char *buf;
|
||||
int n;
|
||||
@ -981,6 +985,11 @@ int virFileResolveLink(const char *linkpath,
|
||||
|
||||
*resultpath = buf;
|
||||
return 0;
|
||||
#else
|
||||
if (!(*resultpath = strdup(linkpath)))
|
||||
return -ENOMEM;
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user