summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-08-31 11:56:42 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-08-31 11:56:42 +0000
commit6790891ef083b77faaf9d779463dfa0569a96ae5 (patch)
treeeea89a4ca3ea28c330bd3681f26964023fa8413f
parent5b5e4a6fc1e2829e6a2e1fb41986e951070646c7 (diff)
* ext/Win32API/Win32API.c (Win32API_initialize): use RSTRING_PTR and
RSTRING_LEN. * ext/tk/stubs.c, ext/tk/tcltklib.c, ext/tk/tkutil/tkutil.c: ditto. * ext/win32ole/win32ole.c (ole_val2olevariantdata): ditto. * lib/mkmf.rb (create_makefile): follow nil.to_s. * win32/resource.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog12
-rw-r--r--ext/Win32API/Win32API.c18
-rw-r--r--ext/tk/stubs.c24
-rw-r--r--ext/tk/tcltklib.c161
-rw-r--r--ext/tk/tkutil/tkutil.c58
-rw-r--r--ext/win32ole/win32ole.c4
-rw-r--r--lib/mkmf.rb2
-rw-r--r--win32/resource.rb2
8 files changed, 146 insertions, 135 deletions
diff --git a/ChangeLog b/ChangeLog
index 363f8195517..dbf7acd0175 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Aug 31 20:50:46 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * lib/mkmf.rb (create_makefile): follow nil.to_s.
+
+ * win32/resource.rb: ditto.
+
Thu Aug 31 20:21:47 2006 NAKAMURA Usaku <usa@ruby-lang.org>
* file.c (test_identical, rb_file_s_truncate): use RSTRING_PTR and
@@ -9,6 +15,12 @@ Thu Aug 31 20:21:47 2006 NAKAMURA Usaku <usa@ruby-lang.org>
* util.c (ruby_add_suffix): ditto.
+ * ext/Win32API/Win32API.c (Win32API_initialize): ditto.
+
+ * ext/tk/stubs.c, ext/tk/tcltklib.c, ext/tk/tkutil/tkutil.c: ditto.
+
+ * ext/win32ole/win32ole.c (ole_val2olevariantdata): ditto.
+
Thu Aug 31 18:23:00 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
* ruby.h (struct RString): embed small strings.
diff --git a/ext/Win32API/Win32API.c b/ext/Win32API/Win32API.c
index 96ce8c6636d..221a46df1bd 100644
--- a/ext/Win32API/Win32API.c
+++ b/ext/Win32API/Win32API.c
@@ -50,18 +50,18 @@ Win32API_initialize(self, dllname, proc, import, export)
SafeStringValue(dllname);
SafeStringValue(proc);
- hdll = LoadLibrary(RSTRING(dllname)->ptr);
+ hdll = LoadLibrary(RSTRING_PTR(dllname));
if (!hdll)
- rb_raise(rb_eRuntimeError, "LoadLibrary: %s\n", RSTRING(dllname)->ptr);
+ rb_raise(rb_eRuntimeError, "LoadLibrary: %s\n", RSTRING_PTR(dllname));
rb_iv_set(self, "__hdll__", Data_Wrap_Struct(rb_cData, 0, Win32API_FreeLibrary, (void*)hdll));
- hproc = (HANDLE)GetProcAddress(hdll, RSTRING(proc)->ptr);
+ hproc = (HANDLE)GetProcAddress(hdll, RSTRING_PTR(proc));
if (!hproc) {
str = rb_str_new3(proc);
str = rb_str_cat(str, "A", 1);
- hproc = (HANDLE)GetProcAddress(hdll, RSTRING(str)->ptr);
+ hproc = (HANDLE)GetProcAddress(hdll, RSTRING_PTR(str));
if (!hproc)
rb_raise(rb_eRuntimeError, "GetProcAddress: %s or %s\n",
- RSTRING(proc)->ptr, RSTRING(str)->ptr);
+ RSTRING_PTR(proc), RSTRING_PTR(str));
}
rb_iv_set(self, "__dll__", UINT2NUM((unsigned long)hdll));
rb_iv_set(self, "__dllname__", dllname);
@@ -75,7 +75,7 @@ Win32API_initialize(self, dllname, proc, import, export)
ptr = RARRAY(import)->ptr;
for (i = 0, len = RARRAY(import)->len; i < len; i++) {
SafeStringValue(ptr[i]);
- switch (*(char *)RSTRING(ptr[i])->ptr) {
+ switch (*(char *)RSTRING_PTR(ptr[i])) {
case 'N': case 'n': case 'L': case 'l':
rb_ary_push(a_import, INT2FIX(_T_NUMBER));
break;
@@ -90,8 +90,8 @@ Win32API_initialize(self, dllname, proc, import, export)
break;
default:
SafeStringValue(import);
- s = RSTRING(import)->ptr;
- for (i = 0, len = RSTRING(import)->len; i < len; i++) {
+ s = RSTRING_PTR(import);
+ for (i = 0, len = RSTRING_LEN(import); i < len; i++) {
switch (*s++) {
case 'N': case 'n': case 'L': case 'l':
rb_ary_push(a_import, INT2FIX(_T_NUMBER));
@@ -117,7 +117,7 @@ Win32API_initialize(self, dllname, proc, import, export)
ex = _T_VOID;
} else {
SafeStringValue(export);
- switch (*RSTRING(export)->ptr) {
+ switch (*RSTRING_PTR(export)) {
case 'V': case 'v':
ex = _T_VOID;
break;
diff --git a/ext/tk/stubs.c b/ext/tk/stubs.c
index 654b926e67d..426505f3ae4 100644
--- a/ext/tk/stubs.c
+++ b/ext/tk/stubs.c
@@ -140,8 +140,8 @@ ruby_open_tk_dll()
char tk_name[20];
if (!tcl_dll) {
- /* int ret = ruby_open_tcl_dll(RSTRING(rb_argv0)->ptr); */
- int ret = ruby_open_tcl_dll(rb_argv0 ? RSTRING(rb_argv0)->ptr : 0);
+ /* int ret = ruby_open_tcl_dll(RSTRING_PTR(rb_argv0)); */
+ int ret = ruby_open_tcl_dll(rb_argv0 ? RSTRING_PTR(rb_argv0) : 0);
if (ret != TCLTK_STUBS_OK) return ret;
}
@@ -210,8 +210,8 @@ ruby_tcl_create_ip_and_stubs_init(int *st)
Tcl_Interp *(*p_Tcl_DeleteInterp)();
if (!tcl_dll) {
- /* int ret = ruby_open_tcl_dll(RSTRING(rb_argv0)->ptr); */
- int ret = ruby_open_tcl_dll(rb_argv0 ? RSTRING(rb_argv0)->ptr : 0);
+ /* int ret = ruby_open_tcl_dll(RSTRING_PTR(rb_argv0)); */
+ int ret = ruby_open_tcl_dll(rb_argv0 ? RSTRING_PTR(rb_argv0) : 0);
if (ret != TCLTK_STUBS_OK) {
if (st) *st = ret;
@@ -343,8 +343,8 @@ ruby_tcltk_stubs()
int st;
Tcl_Interp *tcl_ip;
- /* st = ruby_open_tcltk_dll(RSTRING(rb_argv0)->ptr); */
- st = ruby_open_tcltk_dll(rb_argv0 ? RSTRING(rb_argv0)->ptr : 0);
+ /* st = ruby_open_tcltk_dll(RSTRING_PTR(rb_argv0)); */
+ st = ruby_open_tcltk_dll(rb_argv0 ? RSTRING_PTR(rb_argv0) : 0);
switch(st) {
case NO_FindExecutable:
return -7;
@@ -405,8 +405,8 @@ ruby_open_tcl_dll(char *appname)
int ruby_open_tk_dll()
{
if (!open_tcl_dll) {
- /* ruby_open_tcl_dll(RSTRING(rb_argv0)->ptr); */
- ruby_open_tcl_dll(rb_argv0 ? RSTRING(rb_argv0)->ptr : 0);
+ /* ruby_open_tcl_dll(RSTRING_PTR(rb_argv0)); */
+ ruby_open_tcl_dll(rb_argv0 ? RSTRING_PTR(rb_argv0) : 0);
}
return TCLTK_STUBS_OK;
@@ -435,8 +435,8 @@ ruby_tcl_create_ip_and_stubs_init(int *st)
Tcl_Interp *tcl_ip;
if (!open_tcl_dll) {
- /* ruby_open_tcl_dll(RSTRING(rb_argv0)->ptr); */
- ruby_open_tcl_dll(rb_argv0 ? RSTRING(rb_argv0)->ptr : 0);
+ /* ruby_open_tcl_dll(RSTRING_PTR(rb_argv0)); */
+ ruby_open_tcl_dll(rb_argv0 ? RSTRING_PTR(rb_argv0) : 0);
}
if (st) *st = 0;
@@ -498,8 +498,8 @@ ruby_tk_stubs_safeinit(Tcl_Interp *tcl_ip)
int
ruby_tcltk_stubs()
{
- /* Tcl_FindExecutable(RSTRING(rb_argv0)->ptr); */
- Tcl_FindExecutable(rb_argv0 ? RSTRING(rb_argv0)->ptr : 0);
+ /* Tcl_FindExecutable(RSTRING_PTR(rb_argv0)); */
+ Tcl_FindExecutable(rb_argv0 ? RSTRING_PTR(rb_argv0) : 0);
return 0;
}
diff --git a/ext/tk/tcltklib.c b/ext/tk/tcltklib.c
index 5644dc98f21..6964c5f7900 100644
--- a/ext/tk/tcltklib.c
+++ b/ext/tk/tcltklib.c
@@ -896,7 +896,7 @@ call_original_exit(ptr, state)
char **argv;
argv = (char **)ALLOC_N(char *, 3);
argv[0] = "exit";
- argv[1] = RSTRING(rb_fix2str(INT2NUM(state), 10))->ptr;
+ argv[1] = RSTRING_PTR(rb_fix2str(INT2NUM(state), 10));
argv[2] = (char *)NULL;
ptr->return_value = (*(info->proc))(info->clientData, ptr->ip,
@@ -2151,20 +2151,20 @@ ip_set_exc_message(interp, exc)
if (NIL_P(enc)) {
encoding = (Tcl_Encoding)NULL;
} else if (TYPE(enc) == T_STRING) {
- encoding = Tcl_GetEncoding(interp, RSTRING(enc)->ptr);
+ encoding = Tcl_GetEncoding(interp, RSTRING_PTR(enc));
} else {
enc = rb_funcall(enc, ID_to_s, 0, 0);
- encoding = Tcl_GetEncoding(interp, RSTRING(enc)->ptr);
+ encoding = Tcl_GetEncoding(interp, RSTRING_PTR(enc));
}
/* to avoid a garbled error message dialog */
- buf = ALLOC_N(char, (RSTRING(msg)->len)+1);
- memcpy(buf, RSTRING(msg)->ptr, RSTRING(msg)->len);
- buf[RSTRING(msg)->len] = 0;
+ buf = ALLOC_N(char, (RSTRING_LEN(msg))+1);
+ memcpy(buf, RSTRING_PTR(msg), RSTRING_LEN(msg));
+ buf[RSTRING_LEN(msg)] = 0;
Tcl_DStringInit(&dstr);
Tcl_DStringFree(&dstr);
- Tcl_ExternalToUtfDString(encoding, buf, RSTRING(msg)->len, &dstr);
+ Tcl_ExternalToUtfDString(encoding, buf, RSTRING_LEN(msg), &dstr);
Tcl_AppendResult(interp, Tcl_DStringValue(&dstr), (char*)NULL);
DUMP2("error message:%s", Tcl_DStringValue(&dstr));
@@ -2172,7 +2172,7 @@ ip_set_exc_message(interp, exc)
free(buf);
#else /* TCL_VERSION <= 8.0 */
- Tcl_AppendResult(interp, RSTRING(msg)->ptr, (char*)NULL);
+ Tcl_AppendResult(interp, RSTRING_PTR(msg), (char*)NULL);
#endif
rb_thread_critical = thr_crit_bup;
@@ -2367,12 +2367,12 @@ tcl_protect_core(interp, proc, data) /* should not raise exception */
ret = TkStringValue(ret);
DUMP1("Tcl_AppendResult");
- Tcl_AppendResult(interp, RSTRING(ret)->ptr, (char *)NULL);
+ Tcl_AppendResult(interp, RSTRING_PTR(ret), (char *)NULL);
rb_thread_critical = thr_crit_bup;
}
- DUMP2("(result) %s", NIL_P(ret) ? "nil" : RSTRING(ret)->ptr);
+ DUMP2("(result) %s", NIL_P(ret) ? "nil" : RSTRING_PTR(ret));
return TCL_OK;
}
@@ -5413,25 +5413,25 @@ get_obj_from_str(str)
const char *s = StringValuePtr(str);
#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 0
- return Tcl_NewStringObj((char*)s, RSTRING(str)->len);
+ return Tcl_NewStringObj((char*)s, RSTRING_LEN(str));
#else /* TCL_VERSION >= 8.1 */
VALUE enc = rb_attr_get(str, ID_at_enc);
if (!NIL_P(enc)) {
StringValue(enc);
- if (strcmp(RSTRING(enc)->ptr, "binary") == 0) {
+ if (strcmp(RSTRING_PTR(enc), "binary") == 0) {
/* binary string */
- return Tcl_NewByteArrayObj(s, RSTRING(str)->len);
+ return Tcl_NewByteArrayObj(s, RSTRING_LEN(str));
} else {
/* text string */
- return Tcl_NewStringObj(s, RSTRING(str)->len);
+ return Tcl_NewStringObj(s, RSTRING_LEN(str));
}
- } else if (strlen(s) != RSTRING(str)->len) {
+ } else if (strlen(s) != RSTRING_LEN(str)) {
/* probably binary string */
- return Tcl_NewByteArrayObj(s, RSTRING(str)->len);
+ return Tcl_NewByteArrayObj(s, RSTRING_LEN(str));
} else {
/* probably text string */
- return Tcl_NewStringObj(s, RSTRING(str)->len);
+ return Tcl_NewStringObj(s, RSTRING_LEN(str));
}
#endif
}
@@ -5875,7 +5875,7 @@ ip_eval(self, str)
} else {
DUMP2("eval from current eventloop %lx", current);
}
- result = ip_eval_real(self, RSTRING(str)->ptr, RSTRING(str)->len);
+ result = ip_eval_real(self, RSTRING_PTR(str), RSTRING_LEN(str));
if (rb_obj_is_kind_of(result, rb_eException)) {
rb_exc_raise(result);
}
@@ -5891,9 +5891,9 @@ ip_eval(self, str)
alloc_done = (int*)ALLOC(int);
*alloc_done = 0;
- eval_str = ALLOC_N(char, RSTRING(str)->len + 1);
- memcpy(eval_str, RSTRING(str)->ptr, RSTRING(str)->len);
- eval_str[RSTRING(str)->len] = 0;
+ eval_str = ALLOC_N(char, RSTRING_LEN(str) + 1);
+ memcpy(eval_str, RSTRING_PTR(str), RSTRING_LEN(str));
+ eval_str[RSTRING_LEN(str)] = 0;
/* allocate memory (freed by Tcl_ServiceEvent) */
evq = (struct eval_queue *)Tcl_Alloc(sizeof(struct eval_queue));
@@ -5907,7 +5907,7 @@ ip_eval(self, str)
/* construct event data */
evq->done = alloc_done;
evq->str = eval_str;
- evq->len = RSTRING(str)->len;
+ evq->len = RSTRING_LEN(str);
evq->interp = ip_obj;
evq->result = result;
evq->thread = current;
@@ -6102,21 +6102,21 @@ lib_toUTF8_core(ip_obj, src, encodename)
encoding = (Tcl_Encoding)NULL;
} else {
StringValue(enc);
- encoding = Tcl_GetEncoding(interp, RSTRING(enc)->ptr);
+ encoding = Tcl_GetEncoding(interp, RSTRING_PTR(enc));
if (encoding == (Tcl_Encoding)NULL) {
- rb_warning("Tk-interp has unknown encoding information (@encoding:'%s')", RSTRING(enc)->ptr);
+ rb_warning("Tk-interp has unknown encoding information (@encoding:'%s')", RSTRING_PTR(enc));
}
}
}
} else {
StringValue(enc);
- if (strcmp(RSTRING(enc)->ptr, "binary") == 0) {
+ if (strcmp(RSTRING_PTR(enc), "binary") == 0) {
rb_thread_critical = thr_crit_bup;
return str;
}
- encoding = Tcl_GetEncoding(interp, RSTRING(enc)->ptr);
+ encoding = Tcl_GetEncoding(interp, RSTRING_PTR(enc));
if (encoding == (Tcl_Encoding)NULL) {
- rb_warning("string has unknown encoding information (@encoding:'%s')", RSTRING(enc)->ptr);
+ rb_warning("string has unknown encoding information (@encoding:'%s')", RSTRING_PTR(enc));
}
}
} else {
@@ -6124,30 +6124,30 @@ lib_toUTF8_core(ip_obj, src, encodename)
}
} else {
StringValue(encodename);
- encoding = Tcl_GetEncoding(interp, RSTRING(encodename)->ptr);
+ encoding = Tcl_GetEncoding(interp, RSTRING_PTR(encodename));
if (encoding == (Tcl_Encoding)NULL) {
/*
rb_warning("unknown encoding name '%s'",
- RSTRING(encodename)->ptr);
+ RSTRING_PTR(encodename));
*/
rb_raise(rb_eArgError, "unknown encoding name '%s'",
- RSTRING(encodename)->ptr);
+ RSTRING_PTR(encodename));
}
}
StringValue(str);
- if (!RSTRING(str)->len) {
+ if (!RSTRING_LEN(str)) {
rb_thread_critical = thr_crit_bup;
return str;
}
- buf = ALLOC_N(char,(RSTRING(str)->len)+1);
- memcpy(buf, RSTRING(str)->ptr, RSTRING(str)->len);
- buf[RSTRING(str)->len] = 0;
+ buf = ALLOC_N(char,RSTRING_LEN(str)+1);
+ memcpy(buf, RSTRING_PTR(str), RSTRING_LEN(str));
+ buf[RSTRING_LEN(str)] = 0;
Tcl_DStringInit(&dstr);
Tcl_DStringFree(&dstr);
/* Tcl_ExternalToUtfDString(encoding,buf,strlen(buf),&dstr); */
- Tcl_ExternalToUtfDString(encoding, buf, RSTRING(str)->len, &dstr);
+ Tcl_ExternalToUtfDString(encoding, buf, RSTRING_LEN(str), &dstr);
/* str = rb_tainted_str_new2(Tcl_DStringValue(&dstr)); */
/* str = rb_str_new2(Tcl_DStringValue(&dstr)); */
@@ -6238,7 +6238,7 @@ lib_fromUTF8_core(ip_obj, src, encodename)
enc = rb_attr_get(str, ID_at_enc);
if (!NIL_P(enc)) {
StringValue(enc);
- if (strcmp(RSTRING(enc)->ptr, "binary") == 0) {
+ if (strcmp(RSTRING_PTR(enc), "binary") == 0) {
rb_thread_critical = thr_crit_bup;
return str;
}
@@ -6253,9 +6253,9 @@ lib_fromUTF8_core(ip_obj, src, encodename)
encoding = (Tcl_Encoding)NULL;
} else {
StringValue(enc);
- encoding = Tcl_GetEncoding(interp, RSTRING(enc)->ptr);
+ encoding = Tcl_GetEncoding(interp, RSTRING_PTR(enc));
if (encoding == (Tcl_Encoding)NULL) {
- rb_warning("Tk-interp has unknown encoding information (@encoding:'%s')", RSTRING(enc)->ptr);
+ rb_warning("Tk-interp has unknown encoding information (@encoding:'%s')", RSTRING_PTR(enc));
} else {
encodename = rb_obj_dup(enc);
}
@@ -6265,13 +6265,13 @@ lib_fromUTF8_core(ip_obj, src, encodename)
} else {
StringValue(encodename);
- if (strcmp(RSTRING(encodename)->ptr, "binary") == 0) {
+ if (strcmp(RSTRING_PTR(encodename), "binary") == 0) {
char *s;
int len;
StringValue(str);
- s = Tcl_GetByteArrayFromObj(Tcl_NewStringObj(RSTRING(str)->ptr,
- RSTRING(str)->len),
+ s = Tcl_GetByteArrayFromObj(Tcl_NewStringObj(RSTRING_PTR(str),
+ RSTRING_LEN(str)),
&len);
str = rb_tainted_str_new(s, len);
rb_ivar_set(str, ID_at_enc, rb_tainted_str_new2("binary"));
@@ -6280,33 +6280,33 @@ lib_fromUTF8_core(ip_obj, src, encodename)
return str;
}
- encoding = Tcl_GetEncoding(interp, RSTRING(encodename)->ptr);
+ encoding = Tcl_GetEncoding(interp, RSTRING_PTR(encodename));
if (encoding == (Tcl_Encoding)NULL) {
/*
rb_warning("unknown encoding name '%s'",
- RSTRING(encodename)->ptr);
+ RSTRING_PTR(encodename));
encodename = Qnil;
*/
rb_raise(rb_eArgError, "unknown encoding name '%s'",
- RSTRING(encodename)->ptr);
+ RSTRING_PTR(encodename));
}
}
StringValue(str);
- if (RSTRING(str)->len == 0) {
+ if (RSTRING_LEN(str) == 0) {
rb_thread_critical = thr_crit_bup;
return rb_tainted_str_new2("");
}
- buf = ALLOC_N(char,strlen(RSTRING(str)->ptr)+1);
- memcpy(buf, RSTRING(str)->ptr, RSTRING(str)->len);
- buf[RSTRING(str)->len] = 0;
+ buf = ALLOC_N(char,strlen(RSTRING_PTR(str))+1);
+ memcpy(buf, RSTRING_PTR(str), RSTRING_LEN(str));
+ buf[RSTRING_LEN(str)] = 0;
Tcl_DStringInit(&dstr);
Tcl_DStringFree(&dstr);
/* Tcl_UtfToExternalDString(encoding,buf,strlen(buf),&dstr); */
- Tcl_UtfToExternalDString(encoding,buf,RSTRING(str)->len,&dstr);
+ Tcl_UtfToExternalDString(encoding,buf,RSTRING_LEN(str),&dstr);
/* str = rb_tainted_str_new2(Tcl_DStringValue(&dstr)); */
/* str = rb_str_new2(Tcl_DStringValue(&dstr)); */
@@ -6371,21 +6371,21 @@ lib_UTF_backslash_core(self, str, all_bs)
tcl_stubs_check();
StringValue(str);
- if (!RSTRING(str)->len) {
+ if (!RSTRING_LEN(str)) {
return str;
}
thr_crit_bup = rb_thread_critical;
rb_thread_critical = Qtrue;
- src_buf = ALLOC_N(char,(RSTRING(str)->len)+1);
- memcpy(src_buf, RSTRING(str)->ptr, RSTRING(str)->len);
- src_buf[RSTRING(str)->len] = 0;
+ src_buf = ALLOC_N(char,RSTRING_LEN(str)+1);
+ memcpy(src_buf, RSTRING_PTR(str), RSTRING_LEN(str));
+ src_buf[RSTRING_LEN(str)] = 0;
- dst_buf = ALLOC_N(char,(RSTRING(str)->len)+1);
+ dst_buf = ALLOC_N(char,RSTRING_LEN(str)+1);
ptr = src_buf;
- while(RSTRING(str)->len > ptr - src_buf) {
+ while(RSTRING_LEN(str) > ptr - src_buf) {
if (*ptr == '\\' && (all_bs || *(ptr + 1) == 'u')) {
dst_len += Tcl_UtfBackslash(ptr, &read_len, (dst_buf + dst_len));
ptr += read_len;
@@ -6451,7 +6451,7 @@ lib_set_system_encoding(self, enc_name)
if (Tcl_SetSystemEncoding((Tcl_Interp *)NULL,
StringValuePtr(enc_name)) != TCL_OK) {
rb_raise(rb_eArgError, "unknown encoding name '%s'",
- RSTRING(enc_name)->ptr);
+ RSTRING_PTR(enc_name));
}
return enc_name;
@@ -7101,8 +7101,8 @@ ip_get_variable2_core(interp, argc, argv)
} else {
/* Tcl_Preserve(ptr->ip); */
rbtk_preserve_ip(ptr);
- ret = Tcl_GetVar2Ex(ptr->ip, RSTRING(varname)->ptr,
- NIL_P(index) ? NULL : RSTRING(index)->ptr,
+ ret = Tcl_GetVar2Ex(ptr->ip, RSTRING_PTR(varname),
+ NIL_P(index) ? NULL : RSTRING_PTR(index),
FIX2INT(flag));
}
@@ -7139,8 +7139,8 @@ ip_get_variable2_core(interp, argc, argv)
} else {
/* Tcl_Preserve(ptr->ip); */
rbtk_preserve_ip(ptr);
- ret = Tcl_GetVar2(ptr->ip, RSTRING(varname)->ptr,
- NIL_P(index) ? NULL : RSTRING(index)->ptr,
+ ret = Tcl_GetVar2(ptr->ip, RSTRING_PTR(varname),
+ NIL_P(index) ? NULL : RSTRING_PTR(index),
FIX2INT(flag));
}
@@ -7238,8 +7238,8 @@ ip_set_variable2_core(interp, argc, argv)
} else {
/* Tcl_Preserve(ptr->ip); */
rbtk_preserve_ip(ptr);
- ret = Tcl_SetVar2Ex(ptr->ip, RSTRING(varname)->ptr,
- NIL_P(index) ? NULL : RSTRING(index)->ptr,
+ ret = Tcl_SetVar2Ex(ptr->ip, RSTRING_PTR(varname),
+ NIL_P(index) ? NULL : RSTRING_PTR(index),
valobj, FIX2INT(flag));
}
@@ -7279,9 +7279,9 @@ ip_set_variable2_core(interp, argc, argv)
} else {
/* Tcl_Preserve(ptr->ip); */
rbtk_preserve_ip(ptr);
- ret = Tcl_SetVar2(ptr->ip, RSTRING(varname)->ptr,
- NIL_P(index) ? NULL : RSTRING(index)->ptr,
- RSTRING(value)->ptr, FIX2INT(flag));
+ ret = Tcl_SetVar2(ptr->ip, RSTRING_PTR(varname),
+ NIL_P(index) ? NULL : RSTRING_PTR(index),
+ RSTRING_PTR(value), FIX2INT(flag));
}
if (ret == (char*)NULL) {
@@ -7361,8 +7361,8 @@ ip_unset_variable2_core(interp, argc, argv)
return Qtrue;
}
- ptr->return_value = Tcl_UnsetVar2(ptr->ip, RSTRING(varname)->ptr,
- NIL_P(index) ? NULL : RSTRING(index)->ptr,
+ ptr->return_value = Tcl_UnsetVar2(ptr->ip, RSTRING_PTR(varname),
+ NIL_P(index) ? NULL : RSTRING_PTR(index),
FIX2INT(flag));
if (ptr->return_value == TCL_ERROR) {
@@ -7555,7 +7555,7 @@ lib_split_tklist_core(ip_obj, list_str)
int argc;
char **argv;
- if (Tcl_SplitList(interp, RSTRING(list_str)->ptr,
+ if (Tcl_SplitList(interp, RSTRING_PTR(list_str),
&argc, &argv) == TCL_ERROR) {
if (interp == (Tcl_Interp*)NULL) {
rb_raise(rb_eRuntimeError, "can't get elements from list");
@@ -7635,7 +7635,7 @@ lib_merge_tklist(argc, argv, obj)
if (OBJ_TAINTED(argv[num])) taint_flag = 1;
dst = StringValuePtr(argv[num]);
#if TCL_MAJOR_VERSION >= 8
- len += Tcl_ScanCountedElement(dst, RSTRING(argv[num])->len,
+ len += Tcl_ScanCountedElement(dst, RSTRING_LEN(argv[num]),
&flagPtr[num]) + 1;
#else /* TCL_MAJOR_VERSION < 8 */
len += Tcl_ScanElement(dst, &flagPtr[num]) + 1;
@@ -7647,11 +7647,11 @@ lib_merge_tklist(argc, argv, obj)
dst = result;
for(num = 0; num < argc; num++) {
#if TCL_MAJOR_VERSION >= 8
- len = Tcl_ConvertCountedElement(RSTRING(argv[num])->ptr,
- RSTRING(argv[num])->len,
+ len = Tcl_ConvertCountedElement(RSTRING_PTR(argv[num]),
+ RSTRING_LEN(argv[num]),
dst, flagPtr[num]);
#else /* TCL_MAJOR_VERSION < 8 */
- len = Tcl_ConvertElement(RSTRING(argv[num])->ptr, dst, flagPtr[num]);
+ len = Tcl_ConvertElement(RSTRING_PTR(argv[num]), dst, flagPtr[num]);
#endif
dst += len;
*dst = ' ';
@@ -7694,19 +7694,18 @@ lib_conv_listelement(self, src)
StringValue(src);
#if TCL_MAJOR_VERSION >= 8
- len = Tcl_ScanCountedElement(RSTRING(src)->ptr, RSTRING(src)->len,
+ len = Tcl_ScanCountedElement(RSTRING_PTR(src), RSTRING_LEN(src),
&scan_flag);
dst = rb_str_new(0, len + 1);
- len = Tcl_ConvertCountedElement(RSTRING(src)->ptr, RSTRING(src)->len,
- RSTRING(dst)->ptr, scan_flag);
+ len = Tcl_ConvertCountedElement(RSTRING_PTR(src), RSTRING_LEN(src),
+ RSTRING_PTR(dst), scan_flag);
#else /* TCL_MAJOR_VERSION < 8 */
- len = Tcl_ScanElement(RSTRING(src)->ptr, &scan_flag);
+ len = Tcl_ScanElement(RSTRING_PTR(src), &scan_flag);
dst = rb_str_new(0, len + 1);
- len = Tcl_ConvertElement(RSTRING(src)->ptr, RSTRING(dst)->ptr, scan_flag);
+ len = Tcl_ConvertElement(RSTRING_PTR(src), RSTRING_PTR(dst), scan_flag);
#endif
- RSTRING(dst)->len = len;
- RSTRING(dst)->ptr[len] = '\0';
+ rb_str_resize(dst, len);
if (taint_flag) OBJ_TAINT(dst);
rb_thread_critical = thr_crit_bup;
@@ -7828,7 +7827,7 @@ ip_make_menu_embeddable(interp, menu_path)
StringValue(menu_path);
- menuRefPtr = TkFindMenuReferences(ptr->ip, RSTRING(menu_path)->ptr);
+ menuRefPtr = TkFindMenuReferences(ptr->ip, RSTRING_PTR(menu_path));
if (menuRefPtr == (struct dummy_TkMenuRef *) NULL) {
rb_raise(rb_eArgError, "not a menu widget, or invalid widget path");
}
@@ -8118,7 +8117,7 @@ Init_tcltklib()
/* --------------------------------------------------------------- */
- ret = ruby_open_tcl_dll(rb_argv0 ? RSTRING(rb_argv0)->ptr : 0);
+ ret = ruby_open_tcl_dll(rb_argv0 ? RSTRING_PTR(rb_argv0) : 0);
switch(ret) {
case TCLTK_STUBS_OK:
break;
diff --git a/ext/tk/tkutil/tkutil.c b/ext/tk/tkutil/tkutil.c
index 7789d4071d4..12ff6f4c353 100644
--- a/ext/tk/tkutil/tkutil.c
+++ b/ext/tk/tkutil/tkutil.c
@@ -155,16 +155,16 @@ tk_uninstall_cmd(self, cmd_id)
int prefix_len = strlen(cmd_id_prefix);
StringValue(cmd_id);
- if (strncmp(cmd_id_head, RSTRING(cmd_id)->ptr, head_len) != 0) {
+ if (strncmp(cmd_id_head, RSTRING_PTR(cmd_id), head_len) != 0) {
return Qnil;
}
if (strncmp(cmd_id_prefix,
- RSTRING(cmd_id)->ptr + head_len, prefix_len) != 0) {
+ RSTRING_PTR(cmd_id) + head_len, prefix_len) != 0) {
return Qnil;
}
return rb_hash_delete(CALLBACK_TABLE,
- rb_str_new2(RSTRING(cmd_id)->ptr + head_len));
+ rb_str_new2(RSTRING_PTR(cmd_id) + head_len));
}
static VALUE
@@ -862,7 +862,7 @@ get_eval_string_core(obj, enc_flag, self)
}
rb_warning("fail to convert '%s' to string for Tk",
- RSTRING(rb_funcall(obj, rb_intern("inspect"), 0, 0))->ptr);
+ RSTRING_PTR(rb_funcall(obj, rb_intern("inspect"), 0, 0)));
return obj;
}
@@ -966,13 +966,13 @@ tcl2rb_bool(self, value)
value = rb_funcall(value, ID_downcase, 0);
- if (RSTRING(value)->ptr == (char*)NULL) return Qnil;
+ if (RSTRING_PTR(value) == (char*)NULL) return Qnil;
- if (RSTRING(value)->ptr[0] == '\0'
- || strcmp(RSTRING(value)->ptr, "0") == 0
- || strcmp(RSTRING(value)->ptr, "no") == 0
- || strcmp(RSTRING(value)->ptr, "off") == 0
- || strcmp(RSTRING(value)->ptr, "false") == 0) {
+ if (RSTRING_PTR(value)[0] == '\0'
+ || strcmp(RSTRING_PTR(value), "0") == 0
+ || strcmp(RSTRING_PTR(value), "no") == 0
+ || strcmp(RSTRING_PTR(value), "off") == 0
+ || strcmp(RSTRING_PTR(value), "false") == 0) {
return Qfalse;
} else {
return Qtrue;
@@ -983,21 +983,21 @@ static VALUE
tkstr_to_dec(value)
VALUE value;
{
- return rb_cstr_to_inum(RSTRING(value)->ptr, 10, 1);
+ return rb_cstr_to_inum(RSTRING_PTR(value), 10, 1);
}
static VALUE
tkstr_to_int(value)
VALUE value;
{
- return rb_cstr_to_inum(RSTRING(value)->ptr, 0, 1);
+ return rb_cstr_to_inum(RSTRING_PTR(value), 0, 1);
}
static VALUE
tkstr_to_float(value)
VALUE value;
{
- return rb_float_new(rb_cstr_to_dbl(RSTRING(value)->ptr, 1));
+ return rb_float_new(rb_cstr_to_dbl(RSTRING_PTR(value), 1));
}
static VALUE
@@ -1005,7 +1005,7 @@ tkstr_invalid_numstr(value)
VALUE value;
{
rb_raise(rb_eArgError,
- "invalid value for Number: '%s'", RSTRING(value)->ptr);
+ "invalid value for Number: '%s'", RSTRING_PTR(value));
return Qnil; /*dummy*/
}
@@ -1024,7 +1024,7 @@ tkstr_to_number(value)
{
rb_check_type(value, T_STRING);
- if (RSTRING(value)->ptr == (char*)NULL) return INT2FIX(0);
+ if (RSTRING_PTR(value) == (char*)NULL) return INT2FIX(0);
return rb_rescue2(tkstr_to_int, value,
tkstr_rescue_float, value,
@@ -1046,8 +1046,8 @@ tkstr_to_str(value)
char * ptr;
int len;
- ptr = RSTRING(value)->ptr;
- len = RSTRING(value)->len;
+ ptr = RSTRING_PTR(value);
+ len = RSTRING_LEN(value);
if (len > 1 && *ptr == '{' && *(ptr + len - 1) == '}') {
return rb_str_new(ptr + 1, len - 2);
@@ -1062,7 +1062,7 @@ tcl2rb_string(self, value)
{
rb_check_type(value, T_STRING);
- if (RSTRING(value)->ptr == (char*)NULL) return rb_tainted_str_new2("");
+ if (RSTRING_PTR(value) == (char*)NULL) return rb_tainted_str_new2("");
return tkstr_to_str(value);
}
@@ -1074,7 +1074,7 @@ tcl2rb_num_or_str(self, value)
{
rb_check_type(value, T_STRING);
- if (RSTRING(value)->ptr == (char*)NULL) return rb_tainted_str_new2("");
+ if (RSTRING_PTR(value) == (char*)NULL) return rb_tainted_str_new2("");
return rb_rescue2(tkstr_to_number, value,
tkstr_to_str, value,
@@ -1181,7 +1181,7 @@ each_attr_def(key, value, klass)
switch(TYPE(key)) {
case T_STRING:
- key_id = rb_intern(RSTRING(key)->ptr);
+ key_id = rb_intern(RSTRING_PTR(key));
break;
case T_SYMBOL:
key_id = SYM2ID(key);
@@ -1193,7 +1193,7 @@ each_attr_def(key, value, klass)
switch(TYPE(value)) {
case T_STRING:
- value_id = rb_intern(RSTRING(value)->ptr);
+ value_id = rb_intern(RSTRING_PTR(value));
break;
case T_SYMBOL:
value_id = SYM2ID(value);
@@ -1250,7 +1250,7 @@ cbsubst_get_subst_arg(argc, argv, self)
for(i = 0; i < argc; i++) {
switch(TYPE(argv[i])) {
case T_STRING:
- str = RSTRING(argv[i])->ptr;
+ str = RSTRING_PTR(argv[i]);
arg_sym = ID2SYM(rb_intern(str));
break;
case T_SYMBOL:
@@ -1265,7 +1265,7 @@ cbsubst_get_subst_arg(argc, argv, self)
str = rb_id2name(SYM2ID(ret));
}
- id = rb_intern(RSTRING(rb_str_cat2(rb_str_new2("@"), str))->ptr);
+ id = rb_intern(RSTRING_PTR(rb_str_cat2(rb_str_new2("@"), str)));
for(j = 0; j < len; j++) {
if (inf->ivar[j] == id) break;
@@ -1305,7 +1305,7 @@ cbsubst_get_subst_key(self, str)
buf = ALLOC_N(char, len + 1);
for(i = 0; i < len; i++) {
- ptr = RSTRING(RARRAY(list)->ptr[i])->ptr;
+ ptr = RSTRING_PTR(RARRAY(list)->ptr[i]);
if (*ptr == '%' && *(ptr + 2) == '\0') {
*(buf + i) = *(ptr + 1);
} else {
@@ -1388,10 +1388,10 @@ cbsubst_table_setup(self, key_inf, proc_inf)
*(ivar + real_len)
= rb_intern(
- RSTRING(
+ RSTRING_PTR(
rb_str_cat2(rb_str_new2("@"),
rb_id2name(SYM2ID(RARRAY(inf)->ptr[2])))
- )->ptr
+ )
);
rb_attr(self, SYM2ID(RARRAY(inf)->ptr[2]), 1, 0, Qtrue);
@@ -1453,12 +1453,12 @@ cbsubst_scan_args(self, arg_key, val_ary)
RARRAY(dst)->len = 0;
for(idx = 0; idx < len; idx++) {
- if (idx >= RSTRING(arg_key)->len) {
+ if (idx >= RSTRING_LEN(arg_key)) {
proc = Qnil;
- } else if (*(RSTRING(arg_key)->ptr + idx) == ' ') {
+ } else if (*(RSTRING_PTR(arg_key) + idx) == ' ') {
proc = Qnil;
} else {
- ptr = strchr(inf->key, *(RSTRING(arg_key)->ptr + idx));
+ ptr = strchr(inf->key, *(RSTRING_PTR(arg_key) + idx));
if (ptr == (char*)NULL) {
proc = Qnil;
} else {
diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c
index 8778d70305a..ef30d92345d 100644
--- a/ext/win32ole/win32ole.c
+++ b/ext/win32ole/win32ole.c
@@ -1069,7 +1069,7 @@ ole_val2olevariantdata(VALUE val, VARTYPE vtype, struct olevariantdata *pvar)
VARIANT var;
if (((vtype & ~VT_BYREF) == (VT_ARRAY | VT_UI1)) && TYPE(val) == T_STRING) {
- long len = RSTRING(val)->len;
+ long len = RSTRING_LEN(val);
char *pdest = NULL;
SAFEARRAY *psa = SafeArrayCreateVector(VT_UI1, 0, len);
if (!psa) {
@@ -1077,7 +1077,7 @@ ole_val2olevariantdata(VALUE val, VARTYPE vtype, struct olevariantdata *pvar)
}
hr = SafeArrayAccessData(psa, (void **)&pdest);
if (SUCCEEDED(hr)) {
- memcpy(pdest, RSTRING(val)->ptr, len);
+ memcpy(pdest, RSTRING_PTR(val), len);
SafeArrayUnaccessData(psa);
V_VT(&(pvar->realvar)) = vtype;
V_ARRAY(&(pvar->realvar)) = psa;
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index c5d9b194e31..b9f04c4f208 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -1335,7 +1335,7 @@ site-install-rb: install-rb
end
mfile.print "\n\n"
if makedef
- mfile.print "$(DEFFILE): #{origdef}\n"
+ mfile.print "$(DEFFILE): #{origdef || ''}\n"
mfile.print "\t$(RUBY) #{makedef} #{origdef} > $@\n\n"
end
diff --git a/win32/resource.rb b/win32/resource.rb
index a6c859c287c..35b987cad4a 100644
--- a/win32/resource.rb
+++ b/win32/resource.rb
@@ -60,7 +60,7 @@ end
#include <winver.h>
#endif
-#{icons}
+#{icons || ''}
VS_VERSION_INFO VERSIONINFO
FILEVERSION #{fversion}
PRODUCTVERSION #{fversion}