1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/syck/emitter.c (syck_scan_scalar): prevent indicators from

appearing alone or at the end of plain scalars. [ruby-core:5826]

* ext/syck/emitter.c (syck_emit_scalar): treat typed scalar nodes
  as complex keys.

* lib/syck.h: version 0.60.

* lib/yaml/basenode.rb (YAML::BaseNode#at): transform keys during
  key searches.

* ext/syck/rubyext.c: loading of binary-typed nodes.  prevent
  emission of plain strings that look like symbols, but which aren't.

* ext/syck/emitter.c (syck_emit): passing an int* value to the
  long* parameter causes unaligned access on LP64 systems.
  [ruby-dev:27161]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
why 2005-09-20 06:50:20 +00:00
parent 34b3f481dc
commit d578f9d32e
10 changed files with 395 additions and 356 deletions

View file

@ -226,12 +226,17 @@ syck_yaml2byte(char *yamlstr)
syck_parser_implicit_typing( parser, 1 );
syck_parser_taguri_expansion( parser, 1 );
oid = syck_parse( parser );
syck_lookup_sym( parser, oid, (char **)&sav );
ret = S_ALLOC_N( char, strlen( sav->buffer ) + 3 );
ret[0] = '\0';
strcat( ret, "D\n" );
strcat( ret, sav->buffer );
if ( syck_lookup_sym( parser, oid, (char **)&sav ) == 1 ) {
ret = S_ALLOC_N( char, strlen( sav->buffer ) + 3 );
ret[0] = '\0';
strcat( ret, "D\n" );
strcat( ret, sav->buffer );
}
else
{
ret = NULL;
}
syck_free_parser( parser );
return ret;