mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/readline/readline.c: use rb_f_notimplement for methods not
implemented. * ext/openssl/ossl_engine.c: ditto. * ext/openssl/ossl_config.c: ditto. * ext/openssl/ossl_cipher.c: ditto. * ext/openssl/ossl_pkcs5.c: ditto. * ext/openssl/ossl_x509ext.c: ditto. * ext/socket/socket.c: ditto. * ext/socket/basicsocket.c: ditto. * ext/socket/ancdata.c: ditto. * ext/socket/unixsocket.c: ditto. * ext/iconv/iconv.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
be2d3f5979
commit
05a278b4cd
13 changed files with 248 additions and 229 deletions
25
ChangeLog
25
ChangeLog
|
@ -1,3 +1,28 @@
|
||||||
|
Sat Apr 18 23:07:18 2009 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
|
* ext/readline/readline.c: use rb_f_notimplement for methods not
|
||||||
|
implemented.
|
||||||
|
|
||||||
|
* ext/openssl/ossl_engine.c: ditto.
|
||||||
|
|
||||||
|
* ext/openssl/ossl_config.c: ditto.
|
||||||
|
|
||||||
|
* ext/openssl/ossl_cipher.c: ditto.
|
||||||
|
|
||||||
|
* ext/openssl/ossl_pkcs5.c: ditto.
|
||||||
|
|
||||||
|
* ext/openssl/ossl_x509ext.c: ditto.
|
||||||
|
|
||||||
|
* ext/socket/socket.c: ditto.
|
||||||
|
|
||||||
|
* ext/socket/basicsocket.c: ditto.
|
||||||
|
|
||||||
|
* ext/socket/ancdata.c: ditto.
|
||||||
|
|
||||||
|
* ext/socket/unixsocket.c: ditto.
|
||||||
|
|
||||||
|
* ext/iconv/iconv.c: ditto.
|
||||||
|
|
||||||
Sat Apr 18 21:07:34 2009 Tanaka Akira <akr@fsij.org>
|
Sat Apr 18 21:07:34 2009 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
* ext/curses/curses.c: use rb_f_notimplement for methods not
|
* ext/curses/curses.c: use rb_f_notimplement for methods not
|
||||||
|
|
|
@ -791,6 +791,7 @@ list_iconv(unsigned int namescount, const char *const *names, void *data)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_ICONVLIST) || defined(HAVE___ICONV_FREE_LIST)
|
||||||
static VALUE
|
static VALUE
|
||||||
iconv_s_list(void)
|
iconv_s_list(void)
|
||||||
{
|
{
|
||||||
|
@ -821,11 +822,12 @@ iconv_s_list(void)
|
||||||
for (i = 0; i < RARRAY_LEN(ary); i++) {
|
for (i = 0; i < RARRAY_LEN(ary); i++) {
|
||||||
rb_yield(RARRAY_PTR(ary)[i]);
|
rb_yield(RARRAY_PTR(ary)[i]);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
#endif
|
||||||
return Qnil;
|
return Qnil;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define iconv_s_list rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Document-method: close
|
* Document-method: close
|
||||||
|
@ -944,6 +946,7 @@ iconv_conv(int argc, VALUE *argv, VALUE self)
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef ICONV_TRIVIALP
|
||||||
/*
|
/*
|
||||||
* Document-method: trivial?
|
* Document-method: trivial?
|
||||||
* call-seq: trivial?
|
* call-seq: trivial?
|
||||||
|
@ -953,16 +956,16 @@ iconv_conv(int argc, VALUE *argv, VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
iconv_trivialp(VALUE self)
|
iconv_trivialp(VALUE self)
|
||||||
{
|
{
|
||||||
#ifdef ICONV_TRIVIALP
|
|
||||||
int trivial = 0;
|
int trivial = 0;
|
||||||
iconv_ctl(self, ICONV_TRIVIALP, trivial);
|
iconv_ctl(self, ICONV_TRIVIALP, trivial);
|
||||||
if (trivial) return Qtrue;
|
if (trivial) return Qtrue;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
return Qfalse;
|
return Qfalse;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define iconv_trivialp rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ICONV_GET_TRANSLITERATE
|
||||||
/*
|
/*
|
||||||
* Document-method: transliterate?
|
* Document-method: transliterate?
|
||||||
* call-seq: transliterate?
|
* call-seq: transliterate?
|
||||||
|
@ -972,16 +975,16 @@ iconv_trivialp(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
iconv_get_transliterate(VALUE self)
|
iconv_get_transliterate(VALUE self)
|
||||||
{
|
{
|
||||||
#ifdef ICONV_GET_TRANSLITERATE
|
|
||||||
int trans = 0;
|
int trans = 0;
|
||||||
iconv_ctl(self, ICONV_GET_TRANSLITERATE, trans);
|
iconv_ctl(self, ICONV_GET_TRANSLITERATE, trans);
|
||||||
if (trans) return Qtrue;
|
if (trans) return Qtrue;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
return Qfalse;
|
return Qfalse;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define iconv_get_transliterate rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ICONV_SET_TRANSLITERATE
|
||||||
/*
|
/*
|
||||||
* Document-method: transliterate=
|
* Document-method: transliterate=
|
||||||
* call-seq: cd.transliterate = flag
|
* call-seq: cd.transliterate = flag
|
||||||
|
@ -991,15 +994,15 @@ iconv_get_transliterate(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
iconv_set_transliterate(VALUE self, VALUE transliterate)
|
iconv_set_transliterate(VALUE self, VALUE transliterate)
|
||||||
{
|
{
|
||||||
#ifdef ICONV_SET_TRANSLITERATE
|
|
||||||
int trans = RTEST(transliterate);
|
int trans = RTEST(transliterate);
|
||||||
iconv_ctl(self, ICONV_SET_TRANSLITERATE, trans);
|
iconv_ctl(self, ICONV_SET_TRANSLITERATE, trans);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define iconv_set_transliterate rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ICONV_GET_DISCARD_ILSEQ
|
||||||
/*
|
/*
|
||||||
* Document-method: discard_ilseq?
|
* Document-method: discard_ilseq?
|
||||||
* call-seq: discard_ilseq?
|
* call-seq: discard_ilseq?
|
||||||
|
@ -1009,16 +1012,16 @@ iconv_set_transliterate(VALUE self, VALUE transliterate)
|
||||||
static VALUE
|
static VALUE
|
||||||
iconv_get_discard_ilseq(VALUE self)
|
iconv_get_discard_ilseq(VALUE self)
|
||||||
{
|
{
|
||||||
#ifdef ICONV_GET_DISCARD_ILSEQ
|
|
||||||
int dis = 0;
|
int dis = 0;
|
||||||
iconv_ctl(self, ICONV_GET_DISCARD_ILSEQ, dis);
|
iconv_ctl(self, ICONV_GET_DISCARD_ILSEQ, dis);
|
||||||
if (dis) return Qtrue;
|
if (dis) return Qtrue;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
return Qfalse;
|
return Qfalse;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define iconv_get_discard_ilseq rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ICONV_SET_DISCARD_ILSEQ
|
||||||
/*
|
/*
|
||||||
* Document-method: discard_ilseq=
|
* Document-method: discard_ilseq=
|
||||||
* call-seq: cd.discard_ilseq = flag
|
* call-seq: cd.discard_ilseq = flag
|
||||||
|
@ -1028,14 +1031,13 @@ iconv_get_discard_ilseq(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
iconv_set_discard_ilseq(VALUE self, VALUE discard_ilseq)
|
iconv_set_discard_ilseq(VALUE self, VALUE discard_ilseq)
|
||||||
{
|
{
|
||||||
#ifdef ICONV_SET_DISCARD_ILSEQ
|
|
||||||
int dis = RTEST(discard_ilseq);
|
int dis = RTEST(discard_ilseq);
|
||||||
iconv_ctl(self, ICONV_SET_DISCARD_ILSEQ, dis);
|
iconv_ctl(self, ICONV_SET_DISCARD_ILSEQ, dis);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define iconv_set_discard_ilseq rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Document-method: ctlmethods
|
* Document-method: ctlmethods
|
||||||
|
|
|
@ -133,6 +133,7 @@ add_cipher_name_to_ary(const OBJ_NAME *name, VALUE ary)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_OBJ_NAME_DO_ALL_SORTED
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Cipher.ciphers -> array[string...]
|
* Cipher.ciphers -> array[string...]
|
||||||
|
@ -142,7 +143,6 @@ add_cipher_name_to_ary(const OBJ_NAME *name, VALUE ary)
|
||||||
static VALUE
|
static VALUE
|
||||||
ossl_s_ciphers(VALUE self)
|
ossl_s_ciphers(VALUE self)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_OBJ_NAME_DO_ALL_SORTED
|
|
||||||
VALUE ary;
|
VALUE ary;
|
||||||
|
|
||||||
ary = rb_ary_new();
|
ary = rb_ary_new();
|
||||||
|
@ -151,10 +151,10 @@ ossl_s_ciphers(VALUE self)
|
||||||
(void*)ary);
|
(void*)ary);
|
||||||
|
|
||||||
return ary;
|
return ary;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ossl_s_ciphers rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
|
@ -453,6 +453,7 @@ ossl_cipher_set_key_length(VALUE self, VALUE key_length)
|
||||||
return key_length;
|
return key_length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_EVP_CIPHER_CTX_SET_PADDING)
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* cipher.padding = integer -> integer
|
* cipher.padding = integer -> integer
|
||||||
|
@ -466,18 +467,17 @@ ossl_cipher_set_key_length(VALUE self, VALUE key_length)
|
||||||
static VALUE
|
static VALUE
|
||||||
ossl_cipher_set_padding(VALUE self, VALUE padding)
|
ossl_cipher_set_padding(VALUE self, VALUE padding)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_EVP_CIPHER_CTX_SET_PADDING)
|
|
||||||
EVP_CIPHER_CTX *ctx;
|
EVP_CIPHER_CTX *ctx;
|
||||||
int pad = NUM2INT(padding);
|
int pad = NUM2INT(padding);
|
||||||
|
|
||||||
GetCipher(self, ctx);
|
GetCipher(self, ctx);
|
||||||
if (EVP_CIPHER_CTX_set_padding(ctx, pad) != 1)
|
if (EVP_CIPHER_CTX_set_padding(ctx, pad) != 1)
|
||||||
ossl_raise(eCipherError, NULL);
|
ossl_raise(eCipherError, NULL);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
return padding;
|
return padding;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ossl_cipher_set_padding rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
#define CIPHER_0ARG_INT(func) \
|
#define CIPHER_0ARG_INT(func) \
|
||||||
static VALUE \
|
static VALUE \
|
||||||
|
|
|
@ -192,6 +192,16 @@ ossl_config_add_value(VALUE self, VALUE section, VALUE name, VALUE value)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !defined(OSSL_NO_CONF_API)
|
||||||
|
static VALUE
|
||||||
|
ossl_config_add_value_m(VALUE self, VALUE section, VALUE name, VALUE value)
|
||||||
|
{
|
||||||
|
return ossl_config_add_value(self, section, name, value);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#define ossl_config_add_value_m rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
ossl_config_get_value(VALUE self, VALUE section, VALUE name)
|
ossl_config_get_value(VALUE self, VALUE section, VALUE name)
|
||||||
{
|
{
|
||||||
|
@ -456,7 +466,7 @@ Init_ossl_config()
|
||||||
rb_define_method(cConfig, "initialize", ossl_config_initialize, -1);
|
rb_define_method(cConfig, "initialize", ossl_config_initialize, -1);
|
||||||
rb_define_method(cConfig, "get_value", ossl_config_get_value, 2);
|
rb_define_method(cConfig, "get_value", ossl_config_get_value, 2);
|
||||||
rb_define_method(cConfig, "value", ossl_config_get_value_old, -1);
|
rb_define_method(cConfig, "value", ossl_config_get_value_old, -1);
|
||||||
rb_define_method(cConfig, "add_value", ossl_config_add_value, 3);
|
rb_define_method(cConfig, "add_value", ossl_config_add_value_m, 3);
|
||||||
rb_define_method(cConfig, "[]", ossl_config_get_section, 1);
|
rb_define_method(cConfig, "[]", ossl_config_get_section, 1);
|
||||||
rb_define_method(cConfig, "section", ossl_config_get_section_old, 1);
|
rb_define_method(cConfig, "section", ossl_config_get_section_old, 1);
|
||||||
rb_define_method(cConfig, "[]=", ossl_config_set_section, 2);
|
rb_define_method(cConfig, "[]=", ossl_config_set_section, 2);
|
||||||
|
|
|
@ -166,10 +166,10 @@ ossl_engine_finish(VALUE self)
|
||||||
return Qnil;
|
return Qnil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ENGINE_GET_CIPHER)
|
||||||
static VALUE
|
static VALUE
|
||||||
ossl_engine_get_cipher(VALUE self, VALUE name)
|
ossl_engine_get_cipher(VALUE self, VALUE name)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_ENGINE_GET_CIPHER)
|
|
||||||
ENGINE *e;
|
ENGINE *e;
|
||||||
const EVP_CIPHER *ciph, *tmp;
|
const EVP_CIPHER *ciph, *tmp;
|
||||||
char *s;
|
char *s;
|
||||||
|
@ -184,15 +184,15 @@ ossl_engine_get_cipher(VALUE self, VALUE name)
|
||||||
if(!ciph) ossl_raise(eEngineError, NULL);
|
if(!ciph) ossl_raise(eEngineError, NULL);
|
||||||
|
|
||||||
return ossl_cipher_new(ciph);
|
return ossl_cipher_new(ciph);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ossl_engine_get_cipher rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_ENGINE_GET_DIGEST)
|
||||||
static VALUE
|
static VALUE
|
||||||
ossl_engine_get_digest(VALUE self, VALUE name)
|
ossl_engine_get_digest(VALUE self, VALUE name)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_ENGINE_GET_DIGEST)
|
|
||||||
ENGINE *e;
|
ENGINE *e;
|
||||||
const EVP_MD *md, *tmp;
|
const EVP_MD *md, *tmp;
|
||||||
char *s;
|
char *s;
|
||||||
|
@ -207,10 +207,10 @@ ossl_engine_get_digest(VALUE self, VALUE name)
|
||||||
if(!md) ossl_raise(eEngineError, NULL);
|
if(!md) ossl_raise(eEngineError, NULL);
|
||||||
|
|
||||||
return ossl_digest_new(md);
|
return ossl_digest_new(md);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ossl_engine_get_digest rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
ossl_engine_load_privkey(int argc, VALUE *argv, VALUE self)
|
ossl_engine_load_privkey(int argc, VALUE *argv, VALUE self)
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
VALUE mPKCS5;
|
VALUE mPKCS5;
|
||||||
VALUE ePKCS5;
|
VALUE ePKCS5;
|
||||||
|
|
||||||
|
#ifdef HAVE_PKCS5_PBKDF2_HMAC
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* PKCS5.pbkdf2_hmac(pass, salt, iter, keylen, digest) => string
|
* PKCS5.pbkdf2_hmac(pass, salt, iter, keylen, digest) => string
|
||||||
|
@ -25,7 +26,6 @@ VALUE ePKCS5;
|
||||||
static VALUE
|
static VALUE
|
||||||
ossl_pkcs5_pbkdf2_hmac(VALUE self, VALUE pass, VALUE salt, VALUE iter, VALUE keylen, VALUE digest)
|
ossl_pkcs5_pbkdf2_hmac(VALUE self, VALUE pass, VALUE salt, VALUE iter, VALUE keylen, VALUE digest)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_PKCS5_PBKDF2_HMAC
|
|
||||||
VALUE str;
|
VALUE str;
|
||||||
const EVP_MD *md;
|
const EVP_MD *md;
|
||||||
int len = NUM2INT(keylen);
|
int len = NUM2INT(keylen);
|
||||||
|
@ -40,12 +40,13 @@ ossl_pkcs5_pbkdf2_hmac(VALUE self, VALUE pass, VALUE salt, VALUE iter, VALUE key
|
||||||
ossl_raise(ePKCS5, "PKCS5_PBKDF2_HMAC");
|
ossl_raise(ePKCS5, "PKCS5_PBKDF2_HMAC");
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ossl_pkcs5_pbkdf2_hmac rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef HAVE_PKCS5_PBKDF2_HMAC_SHA1
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* PKCS5.pbkdf2_hmac_sha1(pass, salt, iter, keylen) => string
|
* PKCS5.pbkdf2_hmac_sha1(pass, salt, iter, keylen) => string
|
||||||
|
@ -63,7 +64,6 @@ ossl_pkcs5_pbkdf2_hmac(VALUE self, VALUE pass, VALUE salt, VALUE iter, VALUE key
|
||||||
static VALUE
|
static VALUE
|
||||||
ossl_pkcs5_pbkdf2_hmac_sha1(VALUE self, VALUE pass, VALUE salt, VALUE iter, VALUE keylen)
|
ossl_pkcs5_pbkdf2_hmac_sha1(VALUE self, VALUE pass, VALUE salt, VALUE iter, VALUE keylen)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_PKCS5_PBKDF2_HMAC_SHA1
|
|
||||||
VALUE str;
|
VALUE str;
|
||||||
int len = NUM2INT(keylen);
|
int len = NUM2INT(keylen);
|
||||||
|
|
||||||
|
@ -78,10 +78,10 @@ ossl_pkcs5_pbkdf2_hmac_sha1(VALUE self, VALUE pass, VALUE salt, VALUE iter, VALU
|
||||||
ossl_raise(ePKCS5, "PKCS5_PBKDF2_HMAC_SHA1");
|
ossl_raise(ePKCS5, "PKCS5_PBKDF2_HMAC_SHA1");
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ossl_pkcs5_pbkdf2_hmac_sha1 rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
Init_ossl_pkcs5()
|
Init_ossl_pkcs5()
|
||||||
|
|
|
@ -163,10 +163,10 @@ ossl_x509extfactory_set_crl(VALUE self, VALUE crl)
|
||||||
return crl;
|
return crl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_X509V3_SET_NCONF
|
||||||
static VALUE
|
static VALUE
|
||||||
ossl_x509extfactory_set_config(VALUE self, VALUE config)
|
ossl_x509extfactory_set_config(VALUE self, VALUE config)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_X509V3_SET_NCONF
|
|
||||||
X509V3_CTX *ctx;
|
X509V3_CTX *ctx;
|
||||||
CONF *conf;
|
CONF *conf;
|
||||||
|
|
||||||
|
@ -176,10 +176,10 @@ ossl_x509extfactory_set_config(VALUE self, VALUE config)
|
||||||
X509V3_set_nconf(ctx, conf);
|
X509V3_set_nconf(ctx, conf);
|
||||||
|
|
||||||
return config;
|
return config;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define rb_f_fork rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
ossl_x509extfactory_initialize(int argc, VALUE *argv, VALUE self)
|
ossl_x509extfactory_initialize(int argc, VALUE *argv, VALUE self)
|
||||||
|
|
|
@ -436,6 +436,7 @@ readline_attempted_completion_function(const char *text, int start, int end)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_SET_SCREEN_SIZE
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.set_screen_size(rows, columns) -> self
|
* Readline.set_screen_size(rows, columns) -> self
|
||||||
|
@ -451,16 +452,15 @@ readline_attempted_completion_function(const char *text, int start, int end)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_set_screen_size(VALUE self, VALUE rows, VALUE columns)
|
readline_s_set_screen_size(VALUE self, VALUE rows, VALUE columns)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_SET_SCREEN_SIZE
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
rl_set_screen_size(NUM2INT(rows), NUM2INT(columns));
|
rl_set_screen_size(NUM2INT(rows), NUM2INT(columns));
|
||||||
return self;
|
return self;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_SET_SCREEN_SIZE */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_set_screen_size rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_GET_SCREEN_SIZE
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.get_screen_size -> [rows, columns]
|
* Readline.get_screen_size -> [rows, columns]
|
||||||
|
@ -476,7 +476,6 @@ readline_s_set_screen_size(VALUE self, VALUE rows, VALUE columns)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_get_screen_size(VALUE self)
|
readline_s_get_screen_size(VALUE self)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_GET_SCREEN_SIZE
|
|
||||||
int rows, columns;
|
int rows, columns;
|
||||||
VALUE res;
|
VALUE res;
|
||||||
|
|
||||||
|
@ -486,12 +485,12 @@ readline_s_get_screen_size(VALUE self)
|
||||||
rb_ary_push(res, INT2NUM(rows));
|
rb_ary_push(res, INT2NUM(rows));
|
||||||
rb_ary_push(res, INT2NUM(columns));
|
rb_ary_push(res, INT2NUM(columns));
|
||||||
return res;
|
return res;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_GET_SCREEN_SIZE */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_get_screen_size rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_VI_EDITING_MODE
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.vi_editing_mode -> nil
|
* Readline.vi_editing_mode -> nil
|
||||||
|
@ -506,16 +505,15 @@ readline_s_get_screen_size(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_vi_editing_mode(VALUE self)
|
readline_s_vi_editing_mode(VALUE self)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_VI_EDITING_MODE
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
rl_vi_editing_mode(1,0);
|
rl_vi_editing_mode(1,0);
|
||||||
return Qnil;
|
return Qnil;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_VI_EDITING_MODE */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_vi_editing_mode rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_EDITING_MODE
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.vi_editing_mode? -> bool
|
* Readline.vi_editing_mode? -> bool
|
||||||
|
@ -529,15 +527,14 @@ readline_s_vi_editing_mode(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_vi_editing_mode_p(VALUE self)
|
readline_s_vi_editing_mode_p(VALUE self)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_EDITING_MODE
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
return rl_editing_mode == 0 ? Qtrue : Qfalse;
|
return rl_editing_mode == 0 ? Qtrue : Qfalse;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_EDITING_MODE */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_vi_editing_mode_p rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_EMACS_EDITING_MODE
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.emacs_editing_mode -> nil
|
* Readline.emacs_editing_mode -> nil
|
||||||
|
@ -552,16 +549,15 @@ readline_s_vi_editing_mode_p(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_emacs_editing_mode(VALUE self)
|
readline_s_emacs_editing_mode(VALUE self)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_EMACS_EDITING_MODE
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
rl_emacs_editing_mode(1,0);
|
rl_emacs_editing_mode(1,0);
|
||||||
return Qnil;
|
return Qnil;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_EMACS_EDITING_MODE */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_emacs_editing_mode rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_EDITING_MODE
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.emacs_editing_mode? -> bool
|
* Readline.emacs_editing_mode? -> bool
|
||||||
|
@ -575,15 +571,14 @@ readline_s_emacs_editing_mode(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_emacs_editing_mode_p(VALUE self)
|
readline_s_emacs_editing_mode_p(VALUE self)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_EDITING_MODE
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
return rl_editing_mode == 1 ? Qtrue : Qfalse;
|
return rl_editing_mode == 1 ? Qtrue : Qfalse;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_EDITING_MODE */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_emacs_editing_mode_p rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.completion_append_character = char
|
* Readline.completion_append_character = char
|
||||||
|
@ -625,7 +620,6 @@ readline_s_emacs_editing_mode_p(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_set_completion_append_character(VALUE self, VALUE str)
|
readline_s_set_completion_append_character(VALUE self, VALUE str)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
if (NIL_P(str)) {
|
if (NIL_P(str)) {
|
||||||
rl_completion_append_character = '\0';
|
rl_completion_append_character = '\0';
|
||||||
|
@ -639,12 +633,12 @@ readline_s_set_completion_append_character(VALUE self, VALUE str)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_COMPLETION_APPEND_CHARACTER */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_set_completion_append_character rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.completion_append_character -> char
|
* Readline.completion_append_character -> char
|
||||||
|
@ -659,7 +653,6 @@ readline_s_set_completion_append_character(VALUE self, VALUE str)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_get_completion_append_character(VALUE self)
|
readline_s_get_completion_append_character(VALUE self)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
|
|
||||||
char buf[1];
|
char buf[1];
|
||||||
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
|
@ -668,12 +661,12 @@ readline_s_get_completion_append_character(VALUE self)
|
||||||
|
|
||||||
buf[0] = (char) rl_completion_append_character;
|
buf[0] = (char) rl_completion_append_character;
|
||||||
return rb_locale_str_new(buf, 1);
|
return rb_locale_str_new(buf, 1);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_COMPLETION_APPEND_CHARACTER */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_get_completion_append_character rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_BASIC_WORD_BREAK_CHARACTERS
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.basic_word_break_characters = string
|
* Readline.basic_word_break_characters = string
|
||||||
|
@ -689,7 +682,6 @@ readline_s_get_completion_append_character(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_set_basic_word_break_characters(VALUE self, VALUE str)
|
readline_s_set_basic_word_break_characters(VALUE self, VALUE str)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_BASIC_WORD_BREAK_CHARACTERS
|
|
||||||
static char *basic_word_break_characters = NULL;
|
static char *basic_word_break_characters = NULL;
|
||||||
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
|
@ -706,12 +698,12 @@ readline_s_set_basic_word_break_characters(VALUE self, VALUE str)
|
||||||
basic_word_break_characters[RSTRING_LEN(str)] = '\0';
|
basic_word_break_characters[RSTRING_LEN(str)] = '\0';
|
||||||
rl_basic_word_break_characters = basic_word_break_characters;
|
rl_basic_word_break_characters = basic_word_break_characters;
|
||||||
return self;
|
return self;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_BASIC_WORD_BREAK_CHARACTERS */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_set_basic_word_break_characters rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_BASIC_WORD_BREAK_CHARACTERS
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.basic_word_break_characters -> string
|
* Readline.basic_word_break_characters -> string
|
||||||
|
@ -726,17 +718,16 @@ readline_s_set_basic_word_break_characters(VALUE self, VALUE str)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_get_basic_word_break_characters(VALUE self, VALUE str)
|
readline_s_get_basic_word_break_characters(VALUE self, VALUE str)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_BASIC_WORD_BREAK_CHARACTERS
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
if (rl_basic_word_break_characters == NULL)
|
if (rl_basic_word_break_characters == NULL)
|
||||||
return Qnil;
|
return Qnil;
|
||||||
return rb_locale_str_new_cstr(rl_basic_word_break_characters);
|
return rb_locale_str_new_cstr(rl_basic_word_break_characters);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_BASIC_WORD_BREAK_CHARACTERS */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_get_basic_word_break_characters rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_COMPLETER_WORD_BREAK_CHARACTERS
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.completer_word_break_characters = string
|
* Readline.completer_word_break_characters = string
|
||||||
|
@ -752,7 +743,6 @@ readline_s_get_basic_word_break_characters(VALUE self, VALUE str)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_set_completer_word_break_characters(VALUE self, VALUE str)
|
readline_s_set_completer_word_break_characters(VALUE self, VALUE str)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_COMPLETER_WORD_BREAK_CHARACTERS
|
|
||||||
static char *completer_word_break_characters = NULL;
|
static char *completer_word_break_characters = NULL;
|
||||||
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
|
@ -769,12 +759,12 @@ readline_s_set_completer_word_break_characters(VALUE self, VALUE str)
|
||||||
completer_word_break_characters[RSTRING_LEN(str)] = '\0';
|
completer_word_break_characters[RSTRING_LEN(str)] = '\0';
|
||||||
rl_completer_word_break_characters = completer_word_break_characters;
|
rl_completer_word_break_characters = completer_word_break_characters;
|
||||||
return self;
|
return self;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_COMPLETER_WORD_BREAK_CHARACTERS */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_set_completer_word_break_characters rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_COMPLETER_WORD_BREAK_CHARACTERS
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.completer_word_break_characters -> string
|
* Readline.completer_word_break_characters -> string
|
||||||
|
@ -789,17 +779,16 @@ readline_s_set_completer_word_break_characters(VALUE self, VALUE str)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_get_completer_word_break_characters(VALUE self, VALUE str)
|
readline_s_get_completer_word_break_characters(VALUE self, VALUE str)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_COMPLETER_WORD_BREAK_CHARACTERS
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
if (rl_completer_word_break_characters == NULL)
|
if (rl_completer_word_break_characters == NULL)
|
||||||
return Qnil;
|
return Qnil;
|
||||||
return rb_locale_str_new_cstr(rl_completer_word_break_characters);
|
return rb_locale_str_new_cstr(rl_completer_word_break_characters);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_COMPLETER_WORD_BREAK_CHARACTERS */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_get_completer_word_break_characters rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_BASIC_QUOTE_CHARACTERS
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.basic_quote_characters = string
|
* Readline.basic_quote_characters = string
|
||||||
|
@ -813,7 +802,6 @@ readline_s_get_completer_word_break_characters(VALUE self, VALUE str)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_set_basic_quote_characters(VALUE self, VALUE str)
|
readline_s_set_basic_quote_characters(VALUE self, VALUE str)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_BASIC_QUOTE_CHARACTERS
|
|
||||||
static char *basic_quote_characters = NULL;
|
static char *basic_quote_characters = NULL;
|
||||||
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
|
@ -831,12 +819,12 @@ readline_s_set_basic_quote_characters(VALUE self, VALUE str)
|
||||||
rl_basic_quote_characters = basic_quote_characters;
|
rl_basic_quote_characters = basic_quote_characters;
|
||||||
|
|
||||||
return self;
|
return self;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_BASIC_QUOTE_CHARACTERS */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_set_basic_quote_characters rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_BASIC_QUOTE_CHARACTERS
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.basic_quote_characters -> string
|
* Readline.basic_quote_characters -> string
|
||||||
|
@ -850,17 +838,16 @@ readline_s_set_basic_quote_characters(VALUE self, VALUE str)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_get_basic_quote_characters(VALUE self, VALUE str)
|
readline_s_get_basic_quote_characters(VALUE self, VALUE str)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_BASIC_QUOTE_CHARACTERS
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
if (rl_basic_quote_characters == NULL)
|
if (rl_basic_quote_characters == NULL)
|
||||||
return Qnil;
|
return Qnil;
|
||||||
return rb_locale_str_new_cstr(rl_basic_quote_characters);
|
return rb_locale_str_new_cstr(rl_basic_quote_characters);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_BASIC_QUOTE_CHARACTERS */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_get_basic_quote_characters rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_COMPLETER_QUOTE_CHARACTERS
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.completer_quote_characters = string
|
* Readline.completer_quote_characters = string
|
||||||
|
@ -877,7 +864,6 @@ readline_s_get_basic_quote_characters(VALUE self, VALUE str)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_set_completer_quote_characters(VALUE self, VALUE str)
|
readline_s_set_completer_quote_characters(VALUE self, VALUE str)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_COMPLETER_QUOTE_CHARACTERS
|
|
||||||
static char *completer_quote_characters = NULL;
|
static char *completer_quote_characters = NULL;
|
||||||
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
|
@ -894,12 +880,12 @@ readline_s_set_completer_quote_characters(VALUE self, VALUE str)
|
||||||
rl_completer_quote_characters = completer_quote_characters;
|
rl_completer_quote_characters = completer_quote_characters;
|
||||||
|
|
||||||
return self;
|
return self;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_COMPLETER_QUOTE_CHARACTERS */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_set_completer_quote_characters rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_COMPLETER_QUOTE_CHARACTERS
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.completer_quote_characters -> string
|
* Readline.completer_quote_characters -> string
|
||||||
|
@ -914,17 +900,16 @@ readline_s_set_completer_quote_characters(VALUE self, VALUE str)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_get_completer_quote_characters(VALUE self, VALUE str)
|
readline_s_get_completer_quote_characters(VALUE self, VALUE str)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_COMPLETER_QUOTE_CHARACTERS
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
if (rl_completer_quote_characters == NULL)
|
if (rl_completer_quote_characters == NULL)
|
||||||
return Qnil;
|
return Qnil;
|
||||||
return rb_locale_str_new_cstr(rl_completer_quote_characters);
|
return rb_locale_str_new_cstr(rl_completer_quote_characters);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_COMPLETER_QUOTE_CHARACTERS */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_get_completer_quote_characters rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_FILENAME_QUOTE_CHARACTERS
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.filename_quote_characters = string
|
* Readline.filename_quote_characters = string
|
||||||
|
@ -939,7 +924,6 @@ readline_s_get_completer_quote_characters(VALUE self, VALUE str)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_set_filename_quote_characters(VALUE self, VALUE str)
|
readline_s_set_filename_quote_characters(VALUE self, VALUE str)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_FILENAME_QUOTE_CHARACTERS
|
|
||||||
static char *filename_quote_characters = NULL;
|
static char *filename_quote_characters = NULL;
|
||||||
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
|
@ -956,12 +940,12 @@ readline_s_set_filename_quote_characters(VALUE self, VALUE str)
|
||||||
rl_filename_quote_characters = filename_quote_characters;
|
rl_filename_quote_characters = filename_quote_characters;
|
||||||
|
|
||||||
return self;
|
return self;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_FILENAME_QUOTE_CHARACTERS */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_set_filename_quote_characters rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_FILENAME_QUOTE_CHARACTERS
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Readline.filename_quote_characters -> string
|
* Readline.filename_quote_characters -> string
|
||||||
|
@ -976,16 +960,14 @@ readline_s_set_filename_quote_characters(VALUE self, VALUE str)
|
||||||
static VALUE
|
static VALUE
|
||||||
readline_s_get_filename_quote_characters(VALUE self, VALUE str)
|
readline_s_get_filename_quote_characters(VALUE self, VALUE str)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_RL_FILENAME_QUOTE_CHARACTERS
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
if (rl_filename_quote_characters == NULL)
|
if (rl_filename_quote_characters == NULL)
|
||||||
return Qnil;
|
return Qnil;
|
||||||
return rb_locale_str_new_cstr(rl_filename_quote_characters);
|
return rb_locale_str_new_cstr(rl_filename_quote_characters);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif /* HAVE_RL_FILENAME_QUOTE_CHARACTERS */
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define readline_s_get_filename_quote_characters rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
hist_to_s(VALUE self)
|
hist_to_s(VALUE self)
|
||||||
|
@ -1025,10 +1007,10 @@ hist_get(VALUE self, VALUE index)
|
||||||
return rb_locale_str_new_cstr(entry->line);
|
return rb_locale_str_new_cstr(entry->line);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_REPLACE_HISTORY_ENTRY
|
||||||
static VALUE
|
static VALUE
|
||||||
hist_set(VALUE self, VALUE index, VALUE str)
|
hist_set(VALUE self, VALUE index, VALUE str)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_REPLACE_HISTORY_ENTRY
|
|
||||||
HIST_ENTRY *entry = NULL;
|
HIST_ENTRY *entry = NULL;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -1045,11 +1027,10 @@ hist_set(VALUE self, VALUE index, VALUE str)
|
||||||
rb_raise(rb_eIndexError, "invalid index");
|
rb_raise(rb_eIndexError, "invalid index");
|
||||||
}
|
}
|
||||||
return str;
|
return str;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define hist_set rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
hist_push(VALUE self, VALUE str)
|
hist_push(VALUE self, VALUE str)
|
||||||
|
@ -1165,18 +1146,17 @@ hist_delete_at(VALUE self, VALUE index)
|
||||||
return rb_remove_history(i);
|
return rb_remove_history(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_CLEAR_HISTORY
|
||||||
static VALUE
|
static VALUE
|
||||||
hist_clear(VALUE self)
|
hist_clear(VALUE self)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_CLEAR_HISTORY
|
|
||||||
rb_secure(4);
|
rb_secure(4);
|
||||||
clear_history();
|
clear_history();
|
||||||
return self;
|
return self;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define hist_clear rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
filename_completion_proc_call(VALUE self, VALUE str)
|
filename_completion_proc_call(VALUE self, VALUE str)
|
||||||
|
|
|
@ -176,6 +176,7 @@ ancillary_data(VALUE self)
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef SCM_RIGHTS
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Socket::AncillaryData.unix_rights(io1, io2, ...) => ancillarydata
|
* Socket::AncillaryData.unix_rights(io1, io2, ...) => ancillarydata
|
||||||
|
@ -188,7 +189,6 @@ ancillary_data(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ancillary_s_unix_rights(int argc, VALUE *argv, VALUE klass)
|
ancillary_s_unix_rights(int argc, VALUE *argv, VALUE klass)
|
||||||
{
|
{
|
||||||
#ifdef SCM_RIGHTS
|
|
||||||
VALUE result, str, ary;
|
VALUE result, str, ary;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -216,11 +216,12 @@ ancillary_s_unix_rights(int argc, VALUE *argv, VALUE klass)
|
||||||
result = ancdata_new(AF_UNIX, SOL_SOCKET, SCM_RIGHTS, str);
|
result = ancdata_new(AF_UNIX, SOL_SOCKET, SCM_RIGHTS, str);
|
||||||
rb_ivar_set(result, rb_intern("unix_rights"), ary);
|
rb_ivar_set(result, rb_intern("unix_rights"), ary);
|
||||||
return result;
|
return result;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ancillary_s_unix_rights rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef SCM_RIGHTS
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* ancillarydata.unix_rights => array-of-IOs or nil
|
* ancillarydata.unix_rights => array-of-IOs or nil
|
||||||
|
@ -253,7 +254,6 @@ ancillary_s_unix_rights(int argc, VALUE *argv, VALUE klass)
|
||||||
static VALUE
|
static VALUE
|
||||||
ancillary_unix_rights(VALUE self)
|
ancillary_unix_rights(VALUE self)
|
||||||
{
|
{
|
||||||
#ifdef SCM_RIGHTS
|
|
||||||
int level, type;
|
int level, type;
|
||||||
|
|
||||||
level = ancillary_level(self);
|
level = ancillary_level(self);
|
||||||
|
@ -264,11 +264,12 @@ ancillary_unix_rights(VALUE self)
|
||||||
|
|
||||||
VALUE v = rb_attr_get(self, rb_intern("unix_rights"));
|
VALUE v = rb_attr_get(self, rb_intern("unix_rights"));
|
||||||
return v;
|
return v;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ancillary_unix_rights rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(SCM_TIMESTAMP) || defined(SCM_TIMESTAMPNS) || defined(SCM_BINTIME)
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* ancillarydata.timestamp => time
|
* ancillarydata.timestamp => time
|
||||||
|
@ -300,7 +301,6 @@ ancillary_unix_rights(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ancillary_timestamp(VALUE self)
|
ancillary_timestamp(VALUE self)
|
||||||
{
|
{
|
||||||
#if defined(SCM_TIMESTAMP) || defined(SCM_TIMESTAMPNS) || defined(SCM_BINTIME)
|
|
||||||
int level, type;
|
int level, type;
|
||||||
VALUE data;
|
VALUE data;
|
||||||
VALUE result = Qnil;
|
VALUE result = Qnil;
|
||||||
|
@ -342,10 +342,10 @@ ancillary_timestamp(VALUE self)
|
||||||
rb_raise(rb_eTypeError, "timestamp ancillary data expected");
|
rb_raise(rb_eTypeError, "timestamp ancillary data expected");
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ancillary_timestamp rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
|
@ -391,6 +391,7 @@ ancillary_int(VALUE self)
|
||||||
return INT2NUM(i);
|
return INT2NUM(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(IPPROTO_IP) && defined(IP_PKTINFO) && defined(HAVE_TYPE_STRUCT_IN_PKTINFO) && defined(HAVE_IPI_SPEC_DST) /* GNU/Linux */
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Socket::AncillaryData.ip_pktinfo(addr, ifindex) => ancdata
|
* Socket::AncillaryData.ip_pktinfo(addr, ifindex) => ancdata
|
||||||
|
@ -414,7 +415,6 @@ ancillary_int(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ancillary_s_ip_pktinfo(int argc, VALUE *argv, VALUE self)
|
ancillary_s_ip_pktinfo(int argc, VALUE *argv, VALUE self)
|
||||||
{
|
{
|
||||||
#if defined(IPPROTO_IP) && defined(IP_PKTINFO) && defined(HAVE_TYPE_STRUCT_IN_PKTINFO) && defined(HAVE_IPI_SPEC_DST) /* GNU/Linux */
|
|
||||||
VALUE v_addr, v_ifindex, v_spec_dst;
|
VALUE v_addr, v_ifindex, v_spec_dst;
|
||||||
unsigned int ifindex;
|
unsigned int ifindex;
|
||||||
struct sockaddr_in sa;
|
struct sockaddr_in sa;
|
||||||
|
@ -450,11 +450,12 @@ ancillary_s_ip_pktinfo(int argc, VALUE *argv, VALUE self)
|
||||||
memcpy(&pktinfo.ipi_spec_dst, &sa.sin_addr, sizeof(pktinfo.ipi_spec_dst));
|
memcpy(&pktinfo.ipi_spec_dst, &sa.sin_addr, sizeof(pktinfo.ipi_spec_dst));
|
||||||
|
|
||||||
return ancdata_new(AF_INET, IPPROTO_IP, IP_PKTINFO, rb_str_new((char *)&pktinfo, sizeof(pktinfo)));
|
return ancdata_new(AF_INET, IPPROTO_IP, IP_PKTINFO, rb_str_new((char *)&pktinfo, sizeof(pktinfo)));
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ancillary_s_ip_pktinfo rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(IPPROTO_IP) && defined(IP_PKTINFO) && defined(HAVE_TYPE_STRUCT_IN_PKTINFO) && defined(HAVE_IPI_SPEC_DST) /* GNU/Linux */
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* ancdata.ip_pktinfo => [addr, ifindex, spec_dst]
|
* ancdata.ip_pktinfo => [addr, ifindex, spec_dst]
|
||||||
|
@ -477,7 +478,6 @@ ancillary_s_ip_pktinfo(int argc, VALUE *argv, VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ancillary_ip_pktinfo(VALUE self)
|
ancillary_ip_pktinfo(VALUE self)
|
||||||
{
|
{
|
||||||
#if defined(IPPROTO_IP) && defined(IP_PKTINFO) && defined(HAVE_TYPE_STRUCT_IN_PKTINFO) && defined(HAVE_IPI_SPEC_DST) /* GNU/Linux */
|
|
||||||
int level, type;
|
int level, type;
|
||||||
VALUE data;
|
VALUE data;
|
||||||
struct in_pktinfo pktinfo;
|
struct in_pktinfo pktinfo;
|
||||||
|
@ -505,11 +505,12 @@ ancillary_ip_pktinfo(VALUE self)
|
||||||
v_spec_dst = rsock_addrinfo_new((struct sockaddr *)&sa, sizeof(sa), PF_INET, 0, 0, Qnil, Qnil);
|
v_spec_dst = rsock_addrinfo_new((struct sockaddr *)&sa, sizeof(sa), PF_INET, 0, 0, Qnil, Qnil);
|
||||||
|
|
||||||
return rb_ary_new3(3, v_addr, UINT2NUM(pktinfo.ipi_ifindex), v_spec_dst);
|
return rb_ary_new3(3, v_addr, UINT2NUM(pktinfo.ipi_ifindex), v_spec_dst);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ancillary_ip_pktinfo rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(IPPROTO_IPV6) && defined(IPV6_PKTINFO) /* IPv6 RFC3542 */
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Socket::AncillaryData.ipv6_pktinfo(addr, ifindex) => ancdata
|
* Socket::AncillaryData.ipv6_pktinfo(addr, ifindex) => ancdata
|
||||||
|
@ -527,7 +528,6 @@ ancillary_ip_pktinfo(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ancillary_s_ipv6_pktinfo(VALUE self, VALUE v_addr, VALUE v_ifindex)
|
ancillary_s_ipv6_pktinfo(VALUE self, VALUE v_addr, VALUE v_ifindex)
|
||||||
{
|
{
|
||||||
#if defined(IPPROTO_IPV6) && defined(IPV6_PKTINFO) /* IPv6 RFC3542 */
|
|
||||||
unsigned int ifindex;
|
unsigned int ifindex;
|
||||||
struct sockaddr_in6 sa;
|
struct sockaddr_in6 sa;
|
||||||
struct in6_pktinfo pktinfo;
|
struct in6_pktinfo pktinfo;
|
||||||
|
@ -548,10 +548,10 @@ ancillary_s_ipv6_pktinfo(VALUE self, VALUE v_addr, VALUE v_ifindex)
|
||||||
pktinfo.ipi6_ifindex = ifindex;
|
pktinfo.ipi6_ifindex = ifindex;
|
||||||
|
|
||||||
return ancdata_new(AF_INET6, IPPROTO_IPV6, IPV6_PKTINFO, rb_str_new((char *)&pktinfo, sizeof(pktinfo)));
|
return ancdata_new(AF_INET6, IPPROTO_IPV6, IPV6_PKTINFO, rb_str_new((char *)&pktinfo, sizeof(pktinfo)));
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ancillary_s_ipv6_pktinfo rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IPPROTO_IPV6) && defined(IPV6_PKTINFO) /* IPv6 RFC3542 */
|
#if defined(IPPROTO_IPV6) && defined(IPV6_PKTINFO) /* IPv6 RFC3542 */
|
||||||
static void
|
static void
|
||||||
|
@ -580,6 +580,7 @@ extract_ipv6_pktinfo(VALUE self, struct in6_pktinfo *pktinfo_ptr, struct sockadd
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(IPPROTO_IPV6) && defined(IPV6_PKTINFO) /* IPv6 RFC3542 */
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* ancdata.ipv6_pktinfo => [addr, ifindex]
|
* ancdata.ipv6_pktinfo => [addr, ifindex]
|
||||||
|
@ -597,7 +598,6 @@ extract_ipv6_pktinfo(VALUE self, struct in6_pktinfo *pktinfo_ptr, struct sockadd
|
||||||
static VALUE
|
static VALUE
|
||||||
ancillary_ipv6_pktinfo(VALUE self)
|
ancillary_ipv6_pktinfo(VALUE self)
|
||||||
{
|
{
|
||||||
#if defined(IPPROTO_IPV6) && defined(IPV6_PKTINFO) /* IPv6 RFC3542 */
|
|
||||||
struct in6_pktinfo pktinfo;
|
struct in6_pktinfo pktinfo;
|
||||||
struct sockaddr_in6 sa;
|
struct sockaddr_in6 sa;
|
||||||
VALUE v_addr;
|
VALUE v_addr;
|
||||||
|
@ -605,11 +605,12 @@ ancillary_ipv6_pktinfo(VALUE self)
|
||||||
extract_ipv6_pktinfo(self, &pktinfo, &sa);
|
extract_ipv6_pktinfo(self, &pktinfo, &sa);
|
||||||
v_addr = rsock_addrinfo_new((struct sockaddr *)&sa, sizeof(sa), PF_INET6, 0, 0, Qnil, Qnil);
|
v_addr = rsock_addrinfo_new((struct sockaddr *)&sa, sizeof(sa), PF_INET6, 0, 0, Qnil, Qnil);
|
||||||
return rb_ary_new3(2, v_addr, UINT2NUM(pktinfo.ipi6_ifindex));
|
return rb_ary_new3(2, v_addr, UINT2NUM(pktinfo.ipi6_ifindex));
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ancillary_ipv6_pktinfo rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(IPPROTO_IPV6) && defined(IPV6_PKTINFO) /* IPv6 RFC3542 */
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* ancdata.ipv6_pktinfo_addr => addr
|
* ancdata.ipv6_pktinfo_addr => addr
|
||||||
|
@ -627,16 +628,16 @@ ancillary_ipv6_pktinfo(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ancillary_ipv6_pktinfo_addr(VALUE self)
|
ancillary_ipv6_pktinfo_addr(VALUE self)
|
||||||
{
|
{
|
||||||
#if defined(IPPROTO_IPV6) && defined(IPV6_PKTINFO) /* IPv6 RFC3542 */
|
|
||||||
struct in6_pktinfo pktinfo;
|
struct in6_pktinfo pktinfo;
|
||||||
struct sockaddr_in6 sa;
|
struct sockaddr_in6 sa;
|
||||||
extract_ipv6_pktinfo(self, &pktinfo, &sa);
|
extract_ipv6_pktinfo(self, &pktinfo, &sa);
|
||||||
return rsock_addrinfo_new((struct sockaddr *)&sa, sizeof(sa), PF_INET6, 0, 0, Qnil, Qnil);
|
return rsock_addrinfo_new((struct sockaddr *)&sa, sizeof(sa), PF_INET6, 0, 0, Qnil, Qnil);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ancillary_ipv6_pktinfo_addr rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(IPPROTO_IPV6) && defined(IPV6_PKTINFO) /* IPv6 RFC3542 */
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* ancdata.ipv6_pktinfo_ifindex => addr
|
* ancdata.ipv6_pktinfo_ifindex => addr
|
||||||
|
@ -654,15 +655,14 @@ ancillary_ipv6_pktinfo_addr(VALUE self)
|
||||||
static VALUE
|
static VALUE
|
||||||
ancillary_ipv6_pktinfo_ifindex(VALUE self)
|
ancillary_ipv6_pktinfo_ifindex(VALUE self)
|
||||||
{
|
{
|
||||||
#if defined(IPPROTO_IPV6) && defined(IPV6_PKTINFO) /* IPv6 RFC3542 */
|
|
||||||
struct in6_pktinfo pktinfo;
|
struct in6_pktinfo pktinfo;
|
||||||
struct sockaddr_in6 sa;
|
struct sockaddr_in6 sa;
|
||||||
extract_ipv6_pktinfo(self, &pktinfo, &sa);
|
extract_ipv6_pktinfo(self, &pktinfo, &sa);
|
||||||
return UINT2NUM(pktinfo.ipi6_ifindex);
|
return UINT2NUM(pktinfo.ipi6_ifindex);
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define ancillary_ipv6_pktinfo_ifindex rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(SOL_SOCKET) && defined(SCM_RIGHTS) /* 4.4BSD */
|
#if defined(SOL_SOCKET) && defined(SCM_RIGHTS) /* 4.4BSD */
|
||||||
static int
|
static int
|
||||||
|
@ -1286,14 +1286,9 @@ bsock_sendmsg_internal(int argc, VALUE *argv, VALUE sock, int nonblock)
|
||||||
|
|
||||||
return SSIZET2NUM(ss);
|
return SSIZET2NUM(ss);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
static VALUE
|
|
||||||
bsock_sendmsg_internal(int argc, VALUE *argv, VALUE sock, int nonblock)
|
|
||||||
{
|
|
||||||
rb_notimplement();
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_SENDMSG)
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* basicsocket.sendmsg(mesg, flags=0, dest_sockaddr=nil, *controls) => numbytes_sent
|
* basicsocket.sendmsg(mesg, flags=0, dest_sockaddr=nil, *controls) => numbytes_sent
|
||||||
|
@ -1331,7 +1326,11 @@ bsock_sendmsg(int argc, VALUE *argv, VALUE sock)
|
||||||
{
|
{
|
||||||
return bsock_sendmsg_internal(argc, argv, sock, 0);
|
return bsock_sendmsg_internal(argc, argv, sock, 0);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define bsock_sendmsg rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_SENDMSG)
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* basicsocket.sendmsg_nonblock(mesg, flags=0, dest_sockaddr=nil, *controls) => numbytes_sent
|
* basicsocket.sendmsg_nonblock(mesg, flags=0, dest_sockaddr=nil, *controls) => numbytes_sent
|
||||||
|
@ -1348,6 +1347,9 @@ bsock_sendmsg_nonblock(int argc, VALUE *argv, VALUE sock)
|
||||||
{
|
{
|
||||||
return bsock_sendmsg_internal(argc, argv, sock, 1);
|
return bsock_sendmsg_internal(argc, argv, sock, 1);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define bsock_sendmsg_nonblock rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_RECVMSG)
|
#if defined(HAVE_RECVMSG)
|
||||||
struct recvmsg_args_struct {
|
struct recvmsg_args_struct {
|
||||||
|
@ -1675,14 +1677,9 @@ bsock_recvmsg_internal(int argc, VALUE *argv, VALUE sock, int nonblock)
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
static VALUE
|
|
||||||
bsock_recvmsg_internal(int argc, VALUE *argv, VALUE sock, int nonblock)
|
|
||||||
{
|
|
||||||
rb_notimplement();
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_RECVMSG)
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* basicsocket.recvmsg(maxmesglen=nil, flags=0, maxcontrollen=nil, opts={}) => [mesg, sender_addrinfo, rflags, *controls]
|
* basicsocket.recvmsg(maxmesglen=nil, flags=0, maxcontrollen=nil, opts={}) => [mesg, sender_addrinfo, rflags, *controls]
|
||||||
|
@ -1741,7 +1738,11 @@ bsock_recvmsg(int argc, VALUE *argv, VALUE sock)
|
||||||
{
|
{
|
||||||
return bsock_recvmsg_internal(argc, argv, sock, 0);
|
return bsock_recvmsg_internal(argc, argv, sock, 0);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define bsock_recvmsg rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_RECVMSG)
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* basicsocket.recvmsg_nonblock(maxdatalen=nil, flags=0, maxcontrollen=nil, opts={}) => [data, sender_addrinfo, rflags, *controls]
|
* basicsocket.recvmsg_nonblock(maxdatalen=nil, flags=0, maxcontrollen=nil, opts={}) => [data, sender_addrinfo, rflags, *controls]
|
||||||
|
@ -1758,6 +1759,9 @@ bsock_recvmsg_nonblock(int argc, VALUE *argv, VALUE sock)
|
||||||
{
|
{
|
||||||
return bsock_recvmsg_internal(argc, argv, sock, 1);
|
return bsock_recvmsg_internal(argc, argv, sock, 1);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define bsock_recvmsg_nonblock rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
Init_ancdata(void)
|
Init_ancdata(void)
|
||||||
|
|
|
@ -244,6 +244,7 @@ bsock_setsockopt(int argc, VALUE *argv, VALUE sock)
|
||||||
return INT2FIX(0);
|
return INT2FIX(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !defined(__BEOS__)
|
||||||
/*
|
/*
|
||||||
* Document-method: getsockopt
|
* Document-method: getsockopt
|
||||||
* call-seq: getsockopt(level, optname)
|
* call-seq: getsockopt(level, optname)
|
||||||
|
@ -287,7 +288,6 @@ bsock_setsockopt(int argc, VALUE *argv, VALUE sock)
|
||||||
static VALUE
|
static VALUE
|
||||||
bsock_getsockopt(VALUE sock, VALUE lev, VALUE optname)
|
bsock_getsockopt(VALUE sock, VALUE lev, VALUE optname)
|
||||||
{
|
{
|
||||||
#if !defined(__BEOS__)
|
|
||||||
int level, option;
|
int level, option;
|
||||||
socklen_t len;
|
socklen_t len;
|
||||||
char *buf;
|
char *buf;
|
||||||
|
@ -307,10 +307,10 @@ bsock_getsockopt(VALUE sock, VALUE lev, VALUE optname)
|
||||||
rb_sys_fail_path(fptr->pathv);
|
rb_sys_fail_path(fptr->pathv);
|
||||||
|
|
||||||
return rsock_sockopt_new(family, level, option, rb_str_new(buf, len));
|
return rsock_sockopt_new(family, level, option, rb_str_new(buf, len));
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define bsock_getsockopt rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
|
@ -361,6 +361,7 @@ bsock_getpeername(VALUE sock)
|
||||||
return rb_str_new((char*)&buf, len);
|
return rb_str_new((char*)&buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_GETPEEREID) || defined(SO_PEERCRED) || defined(HAVE_GETPEERUCRED)
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* basicsocket.getpeereid => [euid, egid]
|
* basicsocket.getpeereid => [euid, egid]
|
||||||
|
@ -412,10 +413,11 @@ bsock_getpeereid(VALUE self)
|
||||||
ret = rb_assoc_new(UIDT2NUM(ucred_geteuid(uc)), GIDT2NUM(ucred_getegid(uc)));
|
ret = rb_assoc_new(UIDT2NUM(ucred_geteuid(uc)), GIDT2NUM(ucred_getegid(uc)));
|
||||||
ucred_free(uc);
|
ucred_free(uc);
|
||||||
return ret;
|
return ret;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define bsock_getpeereid rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
|
|
|
@ -75,6 +75,7 @@ pair_yield(VALUE pair)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined HAVE_SOCKETPAIR
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Socket.pair(domain, type, protocol) => [socket1, socket2]
|
* Socket.pair(domain, type, protocol) => [socket1, socket2]
|
||||||
|
@ -99,7 +100,6 @@ pair_yield(VALUE pair)
|
||||||
VALUE
|
VALUE
|
||||||
rsock_sock_s_socketpair(int argc, VALUE *argv, VALUE klass)
|
rsock_sock_s_socketpair(int argc, VALUE *argv, VALUE klass)
|
||||||
{
|
{
|
||||||
#if defined HAVE_SOCKETPAIR
|
|
||||||
VALUE domain, type, protocol;
|
VALUE domain, type, protocol;
|
||||||
int d, t, p, sp[2];
|
int d, t, p, sp[2];
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -127,10 +127,10 @@ rsock_sock_s_socketpair(int argc, VALUE *argv, VALUE klass)
|
||||||
return rb_ensure(pair_yield, r, io_close, s1);
|
return rb_ensure(pair_yield, r, io_close, s1);
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define rsock_sock_s_socketpair rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
|
@ -867,11 +867,7 @@ sock_gethostname(VALUE obj)
|
||||||
return rb_str_new2(un.nodename);
|
return rb_str_new2(un.nodename);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
static VALUE
|
#define sock_gethostname rb_f_notimplement
|
||||||
sock_gethostname(VALUE obj)
|
|
||||||
{
|
|
||||||
rb_notimplement();
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1470,6 +1466,7 @@ sockaddr_obj(struct sockaddr *addr)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_GETIFADDRS) || (defined(SIOCGLIFCONF) && defined(SIOCGLIFNUM) && !defined(__hpux)) || defined(SIOCGIFCONF) || defined(_WIN32)
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* Socket.ip_address_list => array
|
* Socket.ip_address_list => array
|
||||||
|
@ -1748,10 +1745,11 @@ socket_s_ip_address_list(VALUE self)
|
||||||
|
|
||||||
CloseHandle(h);
|
CloseHandle(h);
|
||||||
return list;
|
return list;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define socket_s_ip_address_list rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class +Socket+ provides access to the underlying operating system
|
* Class +Socket+ provides access to the underlying operating system
|
||||||
|
|
|
@ -171,6 +171,7 @@ sendmsg_blocking(void *data)
|
||||||
return sendmsg(arg->fd, &arg->msg, 0);
|
return sendmsg(arg->fd, &arg->msg, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_SENDMSG) && (FD_PASSING_BY_MSG_CONTROL || FD_PASSING_BY_MSG_ACCRIGHTS)
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* unixsocket.send_io(io) => nil
|
* unixsocket.send_io(io) => nil
|
||||||
|
@ -190,7 +191,6 @@ sendmsg_blocking(void *data)
|
||||||
static VALUE
|
static VALUE
|
||||||
unix_send_io(VALUE sock, VALUE val)
|
unix_send_io(VALUE sock, VALUE val)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_SENDMSG) && (FD_PASSING_BY_MSG_CONTROL || FD_PASSING_BY_MSG_ACCRIGHTS)
|
|
||||||
int fd;
|
int fd;
|
||||||
rb_io_t *fptr;
|
rb_io_t *fptr;
|
||||||
struct iomsg_arg arg;
|
struct iomsg_arg arg;
|
||||||
|
@ -248,11 +248,10 @@ unix_send_io(VALUE sock, VALUE val)
|
||||||
rb_sys_fail("sendmsg(2)");
|
rb_sys_fail("sendmsg(2)");
|
||||||
|
|
||||||
return Qnil;
|
return Qnil;
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define unix_send_io rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
recvmsg_blocking(void *data)
|
recvmsg_blocking(void *data)
|
||||||
|
@ -261,6 +260,7 @@ recvmsg_blocking(void *data)
|
||||||
return recvmsg(arg->fd, &arg->msg, 0);
|
return recvmsg(arg->fd, &arg->msg, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_RECVMSG) && (FD_PASSING_BY_MSG_CONTROL || FD_PASSING_BY_MSG_ACCRIGHTS)
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* unixsocket.recv_io([klass [, mode]]) => io
|
* unixsocket.recv_io([klass [, mode]]) => io
|
||||||
|
@ -283,7 +283,6 @@ recvmsg_blocking(void *data)
|
||||||
static VALUE
|
static VALUE
|
||||||
unix_recv_io(int argc, VALUE *argv, VALUE sock)
|
unix_recv_io(int argc, VALUE *argv, VALUE sock)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_RECVMSG) && (FD_PASSING_BY_MSG_CONTROL || FD_PASSING_BY_MSG_ACCRIGHTS)
|
|
||||||
VALUE klass, mode;
|
VALUE klass, mode;
|
||||||
rb_io_t *fptr;
|
rb_io_t *fptr;
|
||||||
struct iomsg_arg arg;
|
struct iomsg_arg arg;
|
||||||
|
@ -390,11 +389,10 @@ unix_recv_io(int argc, VALUE *argv, VALUE sock)
|
||||||
ff_argv[1] = mode;
|
ff_argv[1] = mode;
|
||||||
return rb_funcall2(klass, for_fd, ff_argc, ff_argv);
|
return rb_funcall2(klass, for_fd, ff_argc, ff_argv);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
rb_notimplement();
|
|
||||||
return Qnil; /* not reached */
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define unix_recv_io rb_f_notimplement
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
|
|
|
@ -3304,7 +3304,7 @@ proc_setpgrp(void)
|
||||||
/* this confusion. */
|
/* this confusion. */
|
||||||
#ifdef HAVE_SETPGID
|
#ifdef HAVE_SETPGID
|
||||||
if (setpgid(0,0) < 0) rb_sys_fail(0);
|
if (setpgid(0,0) < 0) rb_sys_fail(0);
|
||||||
#else /* defined(HAVE_SETPGRP) && defined(SETPGRP_VOID) */
|
#elif defined(HAVE_SETPGRP) && defined(SETPGRP_VOID)
|
||||||
if (setpgrp() < 0) rb_sys_fail(0);
|
if (setpgrp() < 0) rb_sys_fail(0);
|
||||||
#endif
|
#endif
|
||||||
return INT2FIX(0);
|
return INT2FIX(0);
|
||||||
|
@ -3388,7 +3388,7 @@ proc_setsid(void)
|
||||||
pid = setsid();
|
pid = setsid();
|
||||||
if (pid < 0) rb_sys_fail(0);
|
if (pid < 0) rb_sys_fail(0);
|
||||||
return PIDT2NUM(pid);
|
return PIDT2NUM(pid);
|
||||||
#else /* defined(HAVE_SETPGRP) && defined(TIOCNOTTY) */
|
#elif defined(HAVE_SETPGRP) && defined(TIOCNOTTY)
|
||||||
rb_pid_t pid;
|
rb_pid_t pid;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -4538,7 +4538,7 @@ proc_daemon(int argc, VALUE *argv)
|
||||||
after_fork();
|
after_fork();
|
||||||
if (n < 0) rb_sys_fail("daemon");
|
if (n < 0) rb_sys_fail("daemon");
|
||||||
return INT2FIX(n);
|
return INT2FIX(n);
|
||||||
#else /* defined(HAVE_FORK) */
|
#elif defined(HAVE_FORK)
|
||||||
switch (rb_fork(0, 0, 0, Qnil)) {
|
switch (rb_fork(0, 0, 0, Qnil)) {
|
||||||
case -1:
|
case -1:
|
||||||
return (-1);
|
return (-1);
|
||||||
|
|
Loading…
Reference in a new issue