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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 akr
						akr