diff options
author | Lars Wirzenius <liw@liw.fi> | 2021-08-09 06:56:30 +0000 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2021-08-09 06:56:30 +0000 |
commit | 22a4e91448b40477a8247adc7834fa62f02725c6 (patch) | |
tree | 558b51898251a28b8f5986c0ceb6824d04749153 | |
parent | 0af848392da0471076f9a393fe09d4f808ef63a8 (diff) | |
parent | 6ec6d4021bb2613e24224220bfa171146384a344 (diff) | |
download | obnam2-22a4e91448b40477a8247adc7834fa62f02725c6.tar.gz |
Merge branch 'fix-macos' into 'main'
Fix compilation on MacOS
See merge request obnam/obnam!173
-rw-r--r-- | src/cmd/restore.rs | 2 | ||||
-rw-r--r-- | src/fsentry.rs | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/cmd/restore.rs b/src/cmd/restore.rs index e03f3de..e9e89b5 100644 --- a/src/cmd/restore.rs +++ b/src/cmd/restore.rs @@ -264,7 +264,7 @@ fn restore_metadata(path: &Path, entry: &FilesystemEntry) -> Result<(), RestoreE unsafe { if entry.kind() != FilesystemKind::Symlink { debug!("chmod {:?}", path); - if chmod(path.as_ptr(), entry.mode()) == -1 { + if chmod(path.as_ptr(), entry.mode() as libc::mode_t) == -1 { let error = Error::last_os_error(); error!("chmod failed on {:?}", path); return Err(RestoreError::Chmod(pathbuf, error)); diff --git a/src/fsentry.rs b/src/fsentry.rs index 1a30d41..8338cc2 100644 --- a/src/fsentry.rs +++ b/src/fsentry.rs @@ -3,11 +3,16 @@ use serde::{Deserialize, Serialize}; use std::ffi::OsString; use std::fs::read_link; use std::fs::{FileType, Metadata}; -use std::os::linux::fs::MetadataExt; use std::os::unix::ffi::OsStringExt; use std::os::unix::fs::FileTypeExt; use std::path::{Path, PathBuf}; +#[cfg(target_os = "linux")] +use std::os::linux::fs::MetadataExt; + +#[cfg(target_os = "macos")] +use std::os::macos::fs::MetadataExt; + /// A file system entry. /// /// Represent all backup-relevant the metadata about a file system |