Custom Query (121 matches)
Results (46 - 48 of 121)
|#123||fixed||libyaml parser hangs when reading all in one read from a TCP socket.||xi||pem@…|
When setting a read handler (which uses read(2)) with yaml_parser_set_input() and reading from a socket descriptor, it happens that the entire yaml document is read in one call of the handler. This seems to confuse the parser (yaml_parser_load()) which calls the handler again, attempting to read more.
Forcing at least two packages from the client makes it work. The workaround was to make the client write and flush the leading "---" separately, and then dump the rest on the socket.
This is with libyaml 0.1.2. The client side is using SnakeYAML 1.1 (with java 1.6), both on openSuse 11.0.
Please consider integrating libyaml with pkgconfig.
|#129||fixed||Incorrect Unicode BOM generation||xi||Valentin Nechayev <netchv@…>|
py-YAML 3.07, with Python 2.5 and FreeBSD (package name py25-yaml-3.07_2)
When yaml.dump() generates stream in utf-16be or utf-16le, it generates byte-order mark (BOM), but makes it incorrectly. Example:
>>> yaml.dump("xyz", encoding = 'utf-16be') '\x00\xff\x00\xfe\x00x\x00y\x00z\x00\n\x00.\x00.\x00.\x00\n'
Instead, it should generate:
--- 01/PyYAML-3.07/lib/yaml/emitter.py 2008-12-29 01:36:32.000000000 +0200 +++ work/PyYAML-3.07/lib/yaml/emitter.py 2009-06-06 16:48:39.000000000 +0300 @@ -787,7 +787,7 @@ def write_stream_start(self): # Write BOM if needed. if self.encoding and self.encoding.startswith('utf-16'): - self.stream.write(u'\xFF\xFE'.encode(self.encoding)) + self.stream.write(u'\uFEFF'.encode(self.encoding)) def write_stream_end(self): self.flush_stream()
P.S. I guess it also should generate BOMs for utf-32*