Fix file magic for kernel 3.7.7

develop
Mike Hiretsky 11 years ago
parent 1f9845291b
commit a080c88717

@ -121,7 +121,18 @@ class typeFile:
def getMType(self, filename):
"""Информация о типе файла"""
return self.magicObject.file(filename)
ret = self.magicObject.file(filename)
# fix for kernel 3.7.7 (bad work samba with big files)
if ret is None and self.magicObject.errno() == 5:
r,w = os.pipe()
devnull = os.open(os.devnull,os.O_WRONLY)
cat = subprocess.Popen(['/bin/cat',filename],stdout=w,
stderr=devnull,close_fds=True)
ret = self.magicObject.descriptor(r)
os.close(w)
os.close(devnull)
cat.wait()
return ret
def isBinary(self, filename):
"""является ли файл бинарным"""

Loading…
Cancel
Save