[pypy-commit] pypy refactor-buffer-api: fix usage of bufferstr_w in _file
bdkearns
noreply at buildbot.pypy.org
Thu Apr 24 05:36:29 CEST 2014
Author: Brian Kearns <bdkearns at gmail.com>
Branch: refactor-buffer-api
Changeset: r70919:b0b180cf068a
Date: 2014-04-23 23:33 -0400
http://bitbucket.org/pypy/pypy/changeset/b0b180cf068a/
Log: fix usage of bufferstr_w in _file
diff --git a/pypy/module/_file/interp_file.py b/pypy/module/_file/interp_file.py
--- a/pypy/module/_file/interp_file.py
+++ b/pypy/module/_file/interp_file.py
@@ -267,9 +267,14 @@
def direct_write(self, w_data):
space = self.space
- if not self.binary and space.isinstance_w(w_data, space.w_unicode):
- w_data = space.call_method(w_data, "encode", space.wrap(self.encoding), space.wrap(self.errors))
- data = space.bufferstr_w(w_data)
+ if self.binary:
+ data = space.getarg_w('s*', w_data).as_str()
+ else:
+ if space.isinstance_w(w_data, space.w_unicode):
+ w_data = space.call_method(w_data, "encode",
+ space.wrap(self.encoding),
+ space.wrap(self.errors))
+ data = space.charbuf_w(w_data)
self.do_direct_write(data)
def do_direct_write(self, data):
More information about the pypy-commit
mailing list