| Module | YAML::Syck |
| In: |
syck/rubyext.c
|
| VERSION | = | rb_str_new2( SYCK_VERSION ) |
| DefaultResolver | = | oDefaultResolver |
| GenericResolver | = | oGenericResolver |
Convert YAML to bytecode
/*
* Convert YAML to bytecode
*/
VALUE
rb_syck_compile(self, port)
VALUE self, port;
{
SYMID oid;
int taint;
char *ret;
VALUE bc;
bytestring_t *sav;
SyckParser *parser = syck_new_parser();
taint = syck_parser_assign_io(parser, &port);
syck_parser_handler( parser, syck_yaml2byte_handler );
syck_parser_error_handler( parser, NULL );
syck_parser_implicit_typing( parser, 0 );
syck_parser_taguri_expansion( parser, 0 );
oid = syck_parse( parser );
syck_lookup_sym( parser, oid, (char **)&sav );
ret = S_ALLOCA_N( char, strlen( sav->buffer ) + 3 );
ret[0] = '\0';
strcat( ret, "D\n" );
strcat( ret, sav->buffer );
syck_free_parser( parser );
bc = rb_str_new2( ret );
if ( taint ) OBJ_TAINT( bc );
return bc;
}
ruby-doc.org is hosted and run by James Britt and Happy Camper Studios, a Ruby application development company in Phoenix, Arizona. Ruby-doc.org was created in 2002 to promote the Ruby language and to help other Ruby hackers.
Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.
For more information on the Ruby programming language, visit ruby-lang.org.
Want to help improve Ruby's API docs? See Ruby Documentation Guidelines.