Hirokazu Yamamoto <[EMAIL PROTECTED]> added the comment:
Or, if PyArg_ParseTuple overflowed or GetFullPathNameA failed, (not
check GetLastError() because it's vogus) try GetFullPathNameW like
attached file "quick_hack_for_getfullpathname.patch".
This inverses flow
if (unicode_file_names()) {
/* unicode */
}
/* ascii */
# Maybe it would be nice if convert_to_unicode() functionality is built
in PyArg_ParseTuple. (inverse of "et")
Be care, this is quick hack, so maybe buggy. I confirmed test_os and
test_ntpath passed though.
/////////////////////////////////////////////////////
import unittest
import ntpath
import os
class TestCase(unittest.TestCase):
def test_getfullpathname(self):
for c in ('x', u'x'):
for count in xrange(1, 1000):
name = c * count
path = ntpath._getfullpathname(name)
self.assertEqual(os.path.basename(path), name)
if __name__ == '__main__':
unittest.main()
Added file:
http://bugs.python.org/file11757/quick_hack_for_getfullpathname.patch
_______________________________________
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue4071>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com