mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 04:25:18 +00: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>
|
Thu Apr 2 15:18:00 CEST 2009 Daniel Veillard <veillard@redhat.com>
|
||||||
|
|
||||||
* docs/schemas/domain.rng: some missing disk bus values and cleanups
|
* 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
|
AC_SYS_LARGEFILE
|
||||||
|
|
||||||
dnl Availability of various common functions (non-fatal if missing).
|
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
|
dnl Availability of various not common threadsafe functions
|
||||||
AC_CHECK_FUNCS([strerror_r strtok_r getmntent_r getgrnam_r getpwuid_r])
|
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,
|
AC_DEFINE_UNQUOTED([WITH_STORAGE_SCSI], 1,
|
||||||
[whether SCSI backend for storage driver is enabled])
|
[whether SCSI backend for storage driver is enabled])
|
||||||
AM_CONDITIONAL([WITH_STORAGE_SCSI], [test "$with_storage_scsi" = "yes"])
|
|
||||||
fi
|
fi
|
||||||
|
AM_CONDITIONAL([WITH_STORAGE_SCSI], [test "$with_storage_scsi" = "yes"])
|
||||||
|
|
||||||
|
|
||||||
LIBPARTED_CFLAGS=
|
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
|
/* memset wants the mmap'ed file to be present on disk so create a
|
||||||
* sparse file
|
* sparse file
|
||||||
*/
|
*/
|
||||||
r = ftruncate(fd, len);
|
r = ftruncate(fd, offset + len);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return -errno;
|
return -errno;
|
||||||
|
|
||||||
@ -158,6 +158,9 @@ int safezero(int fd, int flags ATTRIBUTE_UNUSED, off_t offset, off_t len)
|
|||||||
char *buf;
|
char *buf;
|
||||||
unsigned long long remain, bytes;
|
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 */
|
/* Split up the write in small chunks so as not to allocate lots of RAM */
|
||||||
remain = len;
|
remain = len;
|
||||||
bytes = 1024 * 1024;
|
bytes = 1024 * 1024;
|
||||||
@ -949,6 +952,7 @@ int virFileLinkPointsTo(const char *checkLink,
|
|||||||
int virFileResolveLink(const char *linkpath,
|
int virFileResolveLink(const char *linkpath,
|
||||||
char **resultpath)
|
char **resultpath)
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_READLINK
|
||||||
struct stat st;
|
struct stat st;
|
||||||
char *buf;
|
char *buf;
|
||||||
int n;
|
int n;
|
||||||
@ -981,6 +985,11 @@ int virFileResolveLink(const char *linkpath,
|
|||||||
|
|
||||||
*resultpath = buf;
|
*resultpath = buf;
|
||||||
return 0;
|
return 0;
|
||||||
|
#else
|
||||||
|
if (!(*resultpath = strdup(linkpath)))
|
||||||
|
return -ENOMEM;
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user