From 6b253f0ced817e8939cd89da0752068c839bd7ac Mon Sep 17 00:00:00 2001 From: cliechti Date: Wed, 28 Dec 2011 20:45:30 +0000 Subject: fix for [Bug 3444941] ctypes.WinError() unicode error git-svn-id: http://svn.code.sf.net/p/pyserial/code/trunk/pyserial@441 f19166aa-fa4f-0410-85c2-fa1106f25c8a --- CHANGES.txt | 3 +++ serial/serialwin32.py | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index c2d6786..45638c8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -441,3 +441,6 @@ Bugfixes (posix): - [Patch 3462364] Fix: NameError: global name 'base' is not defined +Bugfixes (win32): + +- [Bug 3444941] ctypes.WinError() unicode error diff --git a/serial/serialwin32.py b/serial/serialwin32.py index 4c7f23d..260096f 100644 --- a/serial/serialwin32.py +++ b/serial/serialwin32.py @@ -56,7 +56,7 @@ class Win32Serial(SerialBase): 0) if self.hComPort == win32.INVALID_HANDLE_VALUE: self.hComPort = None # 'cause __del__ is called anyway - raise SerialException("could not open port %s: %s" % (self.portstr, ctypes.WinError())) + raise SerialException("could not open port %r: %r" % (self.portstr, ctypes.WinError())) # Setup a 4k buffer win32.SetupComm(self.hComPort, 4096, 4096) @@ -183,7 +183,7 @@ class Win32Serial(SerialBase): comDCB.XoffChar = XOFF if not win32.SetCommState(self.hComPort, ctypes.byref(comDCB)): - raise ValueError("Cannot configure port, some setting was wrong. Original message: %s" % ctypes.WinError()) + raise ValueError("Cannot configure port, some setting was wrong. Original message: %r" % ctypes.WinError()) #~ def __del__(self): #~ self.close() @@ -232,7 +232,7 @@ class Win32Serial(SerialBase): rc = win32.DWORD() err = win32.ReadFile(self.hComPort, buf, n, ctypes.byref(rc), ctypes.byref(self._overlappedRead)) if not err and win32.GetLastError() != win32.ERROR_IO_PENDING: - raise SerialException("ReadFile failed (%s)" % ctypes.WinError()) + raise SerialException("ReadFile failed (%r)" % ctypes.WinError()) err = win32.WaitForSingleObject(self._overlappedRead.hEvent, win32.INFINITE) read = buf.raw[:rc.value] else: @@ -242,7 +242,7 @@ class Win32Serial(SerialBase): rc = win32.DWORD() err = win32.ReadFile(self.hComPort, buf, size, ctypes.byref(rc), ctypes.byref(self._overlappedRead)) if not err and win32.GetLastError() != win32.ERROR_IO_PENDING: - raise SerialException("ReadFile failed (%s)" % ctypes.WinError()) + raise SerialException("ReadFile failed (%r)" % ctypes.WinError()) err = win32.GetOverlappedResult(self.hComPort, ctypes.byref(self._overlappedRead), ctypes.byref(rc), True) read = buf.raw[:rc.value] else: @@ -261,7 +261,7 @@ class Win32Serial(SerialBase): n = win32.DWORD() err = win32.WriteFile(self.hComPort, data, len(data), ctypes.byref(n), self._overlappedWrite) if not err and win32.GetLastError() != win32.ERROR_IO_PENDING: - raise SerialException("WriteFile failed (%s)" % ctypes.WinError()) + raise SerialException("WriteFile failed (%r)" % ctypes.WinError()) if self._writeTimeout != 0: # if blocking (None) or w/ write timeout (>0) # Wait for the write to complete. #~ win32.WaitForSingleObject(self._overlappedWrite.hEvent, win32.INFINITE) -- cgit v1.2.1