Merge pull request #1158 from efiop/master

osx: reflink: check if clib has clonefile()
This commit is contained in:
Ruslan Kuprieiev
2018-09-23 14:46:36 +03:00
committed by GitHub
+3 -6
View File
@@ -36,15 +36,12 @@ class System(object):
@staticmethod
def _reflink_darwin(src, dst):
import ctypes
import platform
version = platform.mac_ver()[0]
major, minor, patch = version.split('.')
# Starting from High Sierra
if major < 10 or (major == 10 and minor < 13):
clib = ctypes.CDLL('libc.dylib')
if not hasattr(clib, 'clonefile'):
return -1
clonefile = ctypes.CDLL('libc.dylib').clonefile
clonefile = clib.clonefile
clonefile.argtypes = [ctypes.c_char_p,
ctypes.c_char_p,
ctypes.c_int]