Index: ext/syck/emitter.c =================================================================== --- ext/syck/emitter.c (revision 22918) +++ ext/syck/emitter.c (working copy) @@ -294,7 +294,7 @@ * Flush if at end of buffer */ at = e->marker - e->buffer; - if ( len + at >= e->bufsize ) + if ( len + at >= (long)e->bufsize ) { syck_emitter_flush( e, 0 ); for (;;) { @@ -326,7 +326,7 @@ */ if ( check_room > 0 ) { - if ( e->bufsize > ( e->marker - e->buffer ) + check_room ) + if ( (long)e->bufsize > ( e->marker - e->buffer ) + check_room ) { return; } @@ -459,7 +459,7 @@ const char *subd = tag + 4; while ( *subd != ':' && *subd != '\0' ) subd++; if ( *subd == ':' ) { - if ( subd - tag > ( strlen( YAML_DOMAIN ) + 5 ) && + if ( subd - tag > ( (long)( strlen( YAML_DOMAIN ) + 5 )) && strncmp( subd - strlen( YAML_DOMAIN ), YAML_DOMAIN, strlen( YAML_DOMAIN ) ) == 0 ) { syck_emitter_write( e, tag + 4, subd - strlen( YAML_DOMAIN ) - ( tag + 4 ) - 1 ); syck_emitter_write( e, "/", 1 );