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

Reply via email to