- if ((flags & WIMLIB_EXTRACT_FLAG_NTFS)) {
- if (flags & (WIMLIB_EXTRACT_FLAG_SYMLINK | WIMLIB_EXTRACT_FLAG_HARDLINK))
- return WIMLIB_ERR_INVALID_PARAM;
- #ifdef WITH_NTFS_3G
- unsigned long mnt_flags;
- int ret = ntfs_check_if_mounted(output_dir, &mnt_flags);
- if (ret != 0) {
- ERROR_WITH_ERRNO("NTFS-3g: Cannot determine if a NTFS "
- "filesystem is mounted on `%s'",
- output_dir);
- return WIMLIB_ERR_NTFS_3G;
- }
- if (!(mnt_flags & NTFS_MF_MOUNTED)) {
- ERROR("NTFS-3g: No NTFS filesystem is mounted on `%s'",
- output_dir);
- return WIMLIB_ERR_NTFS_3G;
- }
- if (mnt_flags & NTFS_MF_READONLY) {
- ERROR("NTFS-3g: NTFS filesystem on `%s' is mounted "
- "read-only", output_dir);
- return WIMLIB_ERR_NTFS_3G;
- }
- #else
- ERROR("wimlib was compiled without support for NTFS-3g, so");
- ERROR("we cannot extract a WIM image while preserving NTFS-");
- ERROR("specific information");
- return WIMLIB_ERR_UNSUPPORTED;
- #endif
- }