Author: Brian Kearns <[email protected]>
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):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit