method
add_value
v1_9_1_378 -
Show latest stable
- Class:
OpenSSL::Config
add_value(p1, p2, p3)public
No documentation available.
static VALUE
ossl_config_add_value(VALUE self, VALUE section, VALUE name, VALUE value)
{
#ifdef OSSL_NO_CONF_API
rb_notimplement();
#else
CONF *conf;
CONF_VALUE *sv, *cv;
StringValue(section);
StringValue(name);
StringValue(value);
GetConfig(self, conf);
if(!(sv = _CONF_get_section(conf, RSTRING_PTR(section)))){
if(!(sv = _CONF_new_section(conf, RSTRING_PTR(section)))){
ossl_raise(eConfigError, NULL);
}
}
if(!(cv = OPENSSL_malloc(sizeof(CONF_VALUE)))){
ossl_raise(eConfigError, NULL);
}
cv->name = BUF_strdup(RSTRING_PTR(name));
cv->value = BUF_strdup(RSTRING_PTR(value));
if(!cv->name || !cv->value || !_CONF_add_string(conf, sv, cv)){
OPENSSL_free(cv->name);
OPENSSL_free(cv->value);
OPENSSL_free(cv);
ossl_raise(eConfigError, "_CONF_add_string failure");
}
return value;
#endif
}