SF patch# 1757839 by Alexandre Vassalotti -- make test_mailbox and
test_old_mailbox pass.
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index fdb118d..2a6b24c 100755
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -498,15 +498,15 @@
"""Initialize a single-file mailbox."""
Mailbox.__init__(self, path, factory, create)
try:
- f = open(self._path, 'rb+')
+ f = open(self._path, 'r+')
except IOError as e:
if e.errno == errno.ENOENT:
if create:
- f = open(self._path, 'wb+')
+ f = open(self._path, 'w+')
else:
raise NoSuchMailboxError(self._path)
elif e.errno == errno.EACCES:
- f = open(self._path, 'rb')
+ f = open(self._path, 'r')
else:
raise
self._file = f
@@ -1761,11 +1761,11 @@
def read(self, size=None):
"""Read bytes."""
- return self._read(size, self._file.read)
+ return str(self._read(size, self._file.read))
def readline(self, size=None):
"""Read a line."""
- return self._read(size, self._file.readline)
+ return str(self._read(size, self._file.readline))
def readlines(self, sizehint=None):
"""Read multiple lines."""
@@ -1900,7 +1900,7 @@
"""Create a file if it doesn't exist and open for reading and writing."""
fd = os.open(path, os.O_CREAT | os.O_EXCL | os.O_RDWR)
try:
- return open(path, 'rb+')
+ return open(path, 'r+')
finally:
os.close(fd)