Mercurial > hg
view .hgignore @ 14345:bf9a105aed0a
win32.py: add argtypes and restype
This is a feature of ctypes. Without these, pypy complains with
RuntimeWarning: C function without declared arguments called
RuntimeWarning: C function without declared return type called
As a side effect of specifying restypes, the return value of e.g. CreateFileA
is now implicitly converted to an instance of _HANDLE, so we also need to
change the definition
_INVALID_HANDLE_VALUE = -1
to
_INVALID_HANDLE_VALUE = _HANDLE(-1).value
Otherwise, tests for equality to _INVALID_HANDLE_VALUE in code like
def _getfileinfo(name):
fh = _kernel32.CreateFileA(name, 0,
_FILE_SHARE_READ | _FILE_SHARE_WRITE | _FILE_SHARE_DELETE,
None, _OPEN_EXISTING, 0, None)
if fh == _INVALID_HANDLE_VALUE:
_raiseoserror(name)
would now fail to detect an invalid handle, which in turn would lead to
exceptions raised with wrong errno values, like e.g.
>>> nlinks('missing.txt')
Traceback (most recent call last):
...
OSError: [Errno 9] missing.txt: The handle is invalid.
instead of the correct (as per this patch and before it)
>>> nlinks('missing.txt')
Traceback (most recent call last):
...
OSError: [Errno 2] missing.txt: The system cannot find the file specified.
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Sun, 15 May 2011 21:33:51 +0200 |
parents | 537899158396 |
children | 3818c67a501e |
line wrap: on
line source
syntax: glob *.elc *.orig *.rej *~ *.mergebackup *.o *.so *.dll *.pyd *.pyc *.pyo *$py.class *.swp *.prof \#*\# .\#* tests/.coverage* tests/annotated tests/*.err build contrib/hgsh/hgsh dist doc/*.[0-9] doc/*.[0-9].gendoc.txt doc/*.[0-9].{x,ht}ml MANIFEST patches mercurial/__version__.py mercurial.egg-info Output/Mercurial-*.exe .DS_Store tags cscope.* i18n/hg.pot locale/*/LC_MESSAGES/hg.mo # files installed with a local --pure build mercurial/base85.py mercurial/bdiff.py mercurial/diffhelpers.py mercurial/mpatch.py mercurial/osutil.py mercurial/parsers.py syntax: regexp ^\.pc/ ^\.(pydev)?project