VALUE rb_str_new_cstr(const char *string) { if (truffle_is_truffle_object((VALUE) string)) { return (VALUE) truffle_invoke(RUBY_CEXT, "to_ruby_string", string); } else { return (VALUE) truffle_invoke(RUBY_CEXT, "rb_str_new_cstr", truffle_read_string(string)); } }
void Rprintf(const char *format, ...) { char buf[8192]; va_list(ap); va_start(ap,format); Rvsnprintf(buf, BUFSIZE - 1, format, ap); va_end(ap); void *str = truffle_read_string(buf); IMPORT_CALLHELPER(); truffle_invoke(obj, "printf", str); }