mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
util: Handle lack of (f)chmod and (f)chown on Windows
Even if gnulib can provide stubs, it won't help that much. So just replace affected util functions (virFileOperation and virDirCreate) with stubs on Windows. Both functions aren't used on libvirt's client side, so this is fine for MinGW builds.
This commit is contained in:
parent
17f7220891
commit
e77ee32357
@ -1221,7 +1221,7 @@ int virFileExists(const char *path)
|
|||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ifndef WIN32
|
||||||
static int virFileOperationNoFork(const char *path, int openflags, mode_t mode,
|
static int virFileOperationNoFork(const char *path, int openflags, mode_t mode,
|
||||||
uid_t uid, gid_t gid,
|
uid_t uid, gid_t gid,
|
||||||
virFileOperationHook hook, void *hookdata,
|
virFileOperationHook hook, void *hookdata,
|
||||||
@ -1311,7 +1311,6 @@ error:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
# ifndef WIN32
|
|
||||||
int virFileOperation(const char *path, int openflags, mode_t mode,
|
int virFileOperation(const char *path, int openflags, mode_t mode,
|
||||||
uid_t uid, gid_t gid,
|
uid_t uid, gid_t gid,
|
||||||
virFileOperationHook hook, void *hookdata,
|
virFileOperationHook hook, void *hookdata,
|
||||||
@ -1532,19 +1531,33 @@ childerror:
|
|||||||
|
|
||||||
# else /* WIN32 */
|
# else /* WIN32 */
|
||||||
|
|
||||||
int virFileOperation(const char *path, int openflags, mode_t mode,
|
int virFileOperation(const char *path ATTRIBUTE_UNUSED,
|
||||||
uid_t uid, gid_t gid,
|
int openflags ATTRIBUTE_UNUSED,
|
||||||
virFileOperationHook hook, void *hookdata,
|
mode_t mode ATTRIBUTE_UNUSED,
|
||||||
unsigned int flags) {
|
uid_t uid ATTRIBUTE_UNUSED,
|
||||||
return virFileOperationNoFork(path, openflags, mode, uid, gid,
|
gid_t gid ATTRIBUTE_UNUSED,
|
||||||
hook, hookdata, flags);
|
virFileOperationHook hook ATTRIBUTE_UNUSED,
|
||||||
|
void *hookdata ATTRIBUTE_UNUSED,
|
||||||
|
unsigned int flags ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
virUtilError(VIR_ERR_INTERNAL_ERROR,
|
||||||
|
"%s", _("virFileOperation is not implemented for WIN32"));
|
||||||
|
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int virDirCreate(const char *path, mode_t mode,
|
int virDirCreate(const char *path ATTRIBUTE_UNUSED,
|
||||||
uid_t uid, gid_t gid, unsigned int flags) {
|
mode_t mode ATTRIBUTE_UNUSED,
|
||||||
return virDirCreateNoFork(path, mode, uid, gid, flags);
|
uid_t uid ATTRIBUTE_UNUSED,
|
||||||
|
gid_t gid ATTRIBUTE_UNUSED,
|
||||||
|
unsigned int flags ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
virUtilError(VIR_ERR_INTERNAL_ERROR,
|
||||||
|
"%s", _("virDirCreate is not implemented for WIN32"));
|
||||||
|
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
# endif
|
# endif /* WIN32 */
|
||||||
|
|
||||||
static int virFileMakePathHelper(char *path) {
|
static int virFileMakePathHelper(char *path) {
|
||||||
struct stat st;
|
struct stat st;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user