1
0
Fork 0
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:
akr 2009-04-18 14:10:06 +00:00
parent be2d3f5979
commit 05a278b4cd
13 changed files with 248 additions and 229 deletions

View file

@ -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

View file

@ -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

View file

@ -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 \

View file

@ -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);

View file

@ -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)

View file

@ -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()

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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:

View file

@ -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

View file

@ -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:

View file

@ -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);