本文整理汇总了C++中rb_vsprintf函数的典型用法代码示例。如果您正苦于以下问题:C++ rb_vsprintf函数的具体用法?C++ rb_vsprintf怎么用?C++ rb_vsprintf使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了rb_vsprintf函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: ossl_make_error
/*
* Errors
*/
static VALUE
ossl_make_error(VALUE exc, const char *fmt, va_list args)
{
VALUE str = Qnil;
unsigned long e;
if (fmt) {
str = rb_vsprintf(fmt, args);
}
e = ERR_peek_last_error();
if (e) {
const char *msg = ERR_reason_error_string(e);
if (NIL_P(str)) {
if (msg) str = rb_str_new_cstr(msg);
}
else {
if (RSTRING_LEN(str)) rb_str_cat2(str, ": ");
rb_str_cat2(str, msg ? msg : "(null)");
}
ossl_clear_error();
}
if (NIL_P(str)) str = rb_str_new(0, 0);
return rb_exc_new3(exc, str);
}
开发者ID:dennyc,项目名称:openssl,代码行数:29,代码来源:ossl.c
示例2: rb_sprintf
VALUE rb_sprintf(const char *format, ...) {
va_list args;
va_start(args, format);
VALUE *string = rb_vsprintf(format, args);
va_end(args);
return string;
}
开发者ID:sumitmah,项目名称:jruby,代码行数:7,代码来源:ruby.c
示例3: string_spec_rb_vsprintf_worker
static VALUE string_spec_rb_vsprintf_worker(char* fmt, ...) {
va_list varargs;
va_start(varargs, fmt);
VALUE str = rb_vsprintf(fmt, varargs);
va_end(varargs);
return str;
}
开发者ID:JesseChavez,项目名称:rubinius,代码行数:9,代码来源:string_spec.c
示例4: rho_ruby_raise_argerror
void rho_ruby_raise_argerror(const char *fmt, ...)
{
va_list args;
VALUE mesg;
va_start(args, fmt);
mesg = rb_vsprintf(fmt, args);
va_end(args);
rb_exc_raise(rb_exc_new3(rb_eArgError, mesg));
}
开发者ID:KlearXos,项目名称:rhodes,代码行数:10,代码来源:rhoruby.c
示例5: warn_printf
static void
warn_printf(const char *fmt, ...)
{
VALUE str;
va_list args;
va_init_list(args, fmt);
str = rb_vsprintf(fmt, args);
va_end(args);
rb_write_error_str(str);
}
开发者ID:brightbox,项目名称:deb-ruby2.3,代码行数:11,代码来源:eval_error.c
示例6: rb_raise
void
rb_raise(VALUE exc, const char *fmt, ...)
{
va_list args;
VALUE mesg;
va_start(args, fmt);
mesg = rb_vsprintf(fmt, args);
va_end(args);
rb_exc_raise(rb_exc_new3(exc, mesg));
}
开发者ID:knugie,项目名称:ruby,代码行数:11,代码来源:error.c
示例7: rb_compile_error_append
void
rb_compile_error_append(const char *fmt, ...)
{
va_list args;
VALUE str;
va_start(args, fmt);
str = rb_vsprintf(fmt, args);
va_end(args);
compile_err_append(str);
}
开发者ID:knugie,项目名称:ruby,代码行数:11,代码来源:error.c
示例8: rb_loaderror
void
rb_loaderror(const char *fmt, ...)
{
va_list args;
VALUE mesg;
va_start(args, fmt);
mesg = rb_vsprintf(fmt, args);
va_end(args);
rb_exc_raise(rb_exc_new3(rb_eLoadError, mesg));
}
开发者ID:technohippy,项目名称:oruby,代码行数:11,代码来源:error.c
示例9: rb_fatal
void
rb_fatal(const char *fmt, ...)
{
va_list args;
VALUE mesg;
va_start(args, fmt);
mesg = rb_vsprintf(fmt, args);
va_end(args);
rb_exc_fatal(rb_exc_new3(rb_eFatal, mesg));
}
开发者ID:knugie,项目名称:ruby,代码行数:12,代码来源:error.c
示例10: rb_sprintf
VALUE
rb_sprintf(const char *format, ...)
{
VALUE result;
va_list ap;
va_start(ap, format);
result = rb_vsprintf(format, ap);
va_end(ap);
return result;
}
开发者ID:DashYang,项目名称:sim,代码行数:12,代码来源:sprintf.c
示例11: rb_name_error_str
void
rb_name_error_str(VALUE str, const char *fmt, ...)
{
VALUE exc, argv[2];
va_list args;
va_start(args, fmt);
argv[0] = rb_vsprintf(fmt, args);
va_end(args);
argv[1] = str;
exc = rb_class_new_instance(2, argv, rb_eNameError);
rb_exc_raise(exc);
}
开发者ID:knugie,项目名称:ruby,代码行数:14,代码来源:error.c
示例12: make_error_str
static VALUE
make_error_str(VALUE klass, const char* fmt, ...)
{
VALUE exc;
VALUE str;
va_list va;
va_start(va, fmt);
str = rb_vsprintf(fmt, va);
va_end(va);
exc = rb_exc_new3(klass, str);
rb_str_free(str);
return exc;
}
开发者ID:Maturin,项目名称:win32-symlink,代码行数:14,代码来源:win32-symlink.cpp
示例13: ov_http_client_log_warn
static void ov_http_client_log_warn(VALUE log, const char* format, ...) {
VALUE enabled;
VALUE message;
va_list args;
if (!NIL_P(log)) {
enabled = rb_funcall(log, WARN_Q_ID, 0);
if (RTEST(enabled)) {
va_start(args, format);
message = rb_vsprintf(format, args);
rb_funcall(log, WARN_ID, 1, message);
va_end(args);
}
}
}
开发者ID:oVirt,项目名称:ovirt-engine-sdk-ruby,代码行数:15,代码来源:ov_http_client.c
示例14: ossl_make_error
/*
* Errors
*/
static VALUE
ossl_make_error(VALUE exc, const char *fmt, va_list args)
{
VALUE str = Qnil;
const char *msg;
long e;
#ifdef HAVE_ERR_PEEK_LAST_ERROR
e = ERR_peek_last_error();
#else
e = ERR_peek_error();
#endif
if (fmt) {
str = rb_vsprintf(fmt, args);
}
if (e) {
if (dOSSL == Qtrue) /* FULL INFO */
msg = ERR_error_string(e, NULL);
else
msg = ERR_reason_error_string(e);
if (NIL_P(str)) {
if (msg) str = rb_str_new_cstr(msg);
}
else {
if (RSTRING_LEN(str)) rb_str_cat2(str, ": ");
rb_str_cat2(str, msg ? msg : "(null)");
}
}
if (dOSSL == Qtrue){ /* show all errors on the stack */
while ((e = ERR_get_error()) != 0){
rb_warn("error on stack: %s", ERR_error_string(e, NULL));
}
}
ERR_clear_error();
if (NIL_P(str)) str = rb_str_new(0, 0);
return rb_exc_new3(exc, str);
}
开发者ID:DashYang,项目名称:sim,代码行数:41,代码来源:ossl.c
注:本文中的rb_vsprintf函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论