当前位置: 首页>>代码示例>>C++>>正文


C++ rb_vsprintf函数代码示例

本文整理汇总了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;未经允许,请勿转载。