[#7968] array .{first, last, at} — Kazunori NISHI <kazunori@...>

西@九大です。

25 messages 1999/10/07
[#7969] Re: array .{first, last, at} — nobu.nakada@... 1999/10/07

なかだです。

[#7983] Re: array .{first, last, at} — Kazunori NISHI <kazunori@...> 1999/10/12

西@九大です。

[#7984] Re: array .{first, last, at} — matz@... (Yukihiro Matsumoto) 1999/10/12

まつもと ゆきひろです

[#7985] [patch] Array#delete_at w/ minus value — EGUCHI Osamu <eguchi@...> 1999/10/12

えぐち@エスアンドイーです。

[ruby-dev:8020] [PATCH] Win32API

From: WATANABE Hirofumi <eban@...>
Date: 1999-10-14 16:43:12 UTC
List: ruby-dev #8020
わたなべです.

INT じゃなくて ULONG に変換しないと 0x80000000 以上のときが
まずいのと, 'P' を指定したときに NULL が表現できないのでそれ
に対応しました.

--- ext/Win32API/Win32API.c.orig	Fri Aug 13 14:37:46 1999
+++ ext/Win32API/Win32API.c	Fri Oct 15 01:32:31 1999
@@ -142,3 +142,3 @@
 
-    ApiFunction = (FARPROC)NUM2INT(obj_proc);
+    ApiFunction = (FARPROC)NUM2ULONG(obj_proc);
 
@@ -161,3 +161,3 @@
 	    case _T_INTEGER:
-		lParam = NUM2INT(rb_ary_entry(args, i));
+		lParam = NUM2ULONG(rb_ary_entry(args, i));
 #if defined(_MSC_VER) || defined(__LCC__)
@@ -175,5 +175,11 @@
 		str = rb_ary_entry(args, i);
-		Check_Type(str, T_STRING);
-		rb_str_modify(str);
-		pParam = RSTRING(str)->ptr;
+		if (NIL_P(str)) {
+		    pParam = 0;
+		} else if (FIXNUM_P(str)){
+		    pParam = (char *)NUM2ULONG(str);
+		} else {
+		    Check_Type(str, T_STRING);
+		    rb_str_modify(str);
+		    pParam = RSTRING(str)->ptr;
+		}
 #if defined(_MSC_VER) || defined(__LCC__)

In This Thread

Prev Next