ruby-changes:4922
From: ko1@a...
Date: Wed, 14 May 2008 17:17:04 +0900 (JST)
Subject: [ruby-changes:4922] usa - Ruby:r16415 (ruby_1_8): * ext/tk/tkutil/extronf.rb: check stdndup() because it's not standard
usa 2008-05-14 17:16:51 +0900 (Wed, 14 May 2008)
New Revision: 16415
Modified files:
branches/ruby_1_8/ChangeLog
branches/ruby_1_8/ext/tk/tkutil/extconf.rb
branches/ruby_1_8/ext/tk/tkutil/tkutil.c
branches/ruby_1_8/version.h
Log:
* ext/tk/tkutil/extronf.rb: check stdndup() because it's not standard
function of C.
* ext/tk/tkutil/tkutil.c (cbsubst_table_setup): use malloc() and
strncpy() instead of strndup() if not available.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=16415&r2=16414&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ext/tk/tkutil/extconf.rb?r1=16415&r2=16414&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/version.h?r1=16415&r2=16414&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ext/tk/tkutil/tkutil.c?r1=16415&r2=16414&diff_format=u
Index: ruby_1_8/ext/tk/tkutil/extconf.rb
===================================================================
--- ruby_1_8/ext/tk/tkutil/extconf.rb (revision 16414)
+++ ruby_1_8/ext/tk/tkutil/extconf.rb (revision 16415)
@@ -8,5 +8,6 @@
if has_tk
require 'mkmf'
have_func("rb_obj_instance_exec", "ruby.h")
+ have_func("strndup", "string.h")
create_makefile('tkutil')
end
Index: ruby_1_8/ext/tk/tkutil/tkutil.c
===================================================================
--- ruby_1_8/ext/tk/tkutil/tkutil.c (revision 16414)
+++ ruby_1_8/ext/tk/tkutil/tkutil.c (revision 16415)
@@ -1522,8 +1522,17 @@
chr = (unsigned char)(0x80 + idx);
subst_inf->keylen[chr] = RSTRING_LEN(RARRAY_PTR(inf)[0]);
+#if HAVE_STRNDUP
subst_inf->key[chr] = strndup(RSTRING_PTR(RARRAY_PTR(inf)[0]),
RSTRING_LEN(RARRAY_PTR(inf)[0]));
+#else
+ subst_inf->key[chr] = malloc(RSTRING_LEN(RARRAY_PTR(inf)[0]) + 1);
+ if (subst_inf->key[chr]) {
+ strncpy(subst_inf->key[chr], RSTRING_PTR(RARRAY_PTR(inf)[0]),
+ RSTRING_LEN(RARRAY_PTR(inf)[0]) + 1);
+ subst_inf->key[chr][RSTRING_LEN(RARRAY_PTR(inf)[0])] = '\0';
+ }
+#endif
if (TYPE(RARRAY_PTR(inf)[1]) == T_STRING) {
subst_inf->type[chr] = *(RSTRING_PTR(RARRAY_PTR(inf)[1]));
} else {
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog (revision 16414)
+++ ruby_1_8/ChangeLog (revision 16415)
@@ -1,3 +1,11 @@
+Wed May 14 17:15:11 2008 NAKAMURA Usaku <usa@r...>
+
+ * ext/tk/tkutil/extronf.rb: check stdndup() because it's not standard
+ function of C.
+
+ * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): use malloc() and
+ strncpy() instead of strndup() if not available.
+
Wed May 14 09:52:02 2008 Hidetoshi NAGAI <nagai@a...>
* ext/tk/tkutil/tkutil.c: improve handling callback-subst-keys.
Index: ruby_1_8/version.h
===================================================================
--- ruby_1_8/version.h (revision 16414)
+++ ruby_1_8/version.h (revision 16415)
@@ -1,7 +1,7 @@
#define RUBY_VERSION "1.8.7"
-#define RUBY_RELEASE_DATE "2008-05-13"
+#define RUBY_RELEASE_DATE "2008-05-14"
#define RUBY_VERSION_CODE 187
-#define RUBY_RELEASE_CODE 20080513
+#define RUBY_RELEASE_CODE 20080514
#define RUBY_PATCHLEVEL 5000
#define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
#define RUBY_VERSION_TEENY 7
#define RUBY_RELEASE_YEAR 2008
#define RUBY_RELEASE_MONTH 5
-#define RUBY_RELEASE_DAY 13
+#define RUBY_RELEASE_DAY 14
#ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[];
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/