[#23717] error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。どうしても原因がわからないので、報告だけ・・・

18 messages 2004/06/19
[#23718] Re: error at TestDRbMServer (test/drb) — nobu.nakada@... 2004/06/19

なかだです。

[#23719] Re: error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/06/19

山本です。

[#23720] Re: error at TestDRbMServer (test/drb) — nobu.nakada@... 2004/06/19

なかだです。

[#23724] Re: error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/06/19

山本です。

[#23762] Ruby 1.8.2 to be released. — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

40 messages 2004/06/23

[#23784] URI() — Tanaka Akira <akr@...17n.org>

前から思っていたのですが、URI.parse("http://...") を URI("http://...")

19 messages 2004/06/25

[ruby-dev:23698] Re: WIN32OLEの日本語エラーメッセージが切り詰められる

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2004-06-16 13:50:37 UTC
List: ruby-dev #23698
山本です。

FormatMessage が失敗したときに p_msg に LocalAlloc されない
かもしれないので、char *p_msg = NULL としたほうがいいと思います。

メッセージの加工についてはよくわかりませんが、cygwin で CharPrev が
使えるなら、オリジナルと同じ挙動にすることは可能だと思います。
(そこまでする必要があるかどうかは、わかりません)

Index: win32ole.c
===================================================================
RCS file: /var/cvs/src/ruby/ext/win32ole/win32ole.c,v
retrieving revision 1.22
diff -u -w -b -p -r1.22 win32ole.c
--- win32ole.c	8 May 2004 03:54:51 -0000	1.22
+++ win32ole.c	16 Jun 2004 11:26:48 -0000
@@ -488,7 +488,7 @@ ole_hresult2msg(hr)
     HRESULT hr;
 {
     VALUE msg = Qnil;
-    char *p_msg;
+    char *p_msg = NULL;
     DWORD dwCount;
 
     char strhr[100];
@@ -501,15 +501,13 @@ ole_hresult2msg(hr)
                             NULL, hr, LOCALE_SYSTEM_DEFAULT,
                             (LPTSTR)&p_msg, 0, NULL);
     if (dwCount > 0) {
-        /* remove dots and CRs/LFs */
-        while (dwCount > 0 &&
-               (p_msg[dwCount-1] < ' ' || p_msg[dwCount-1] == '.')) {
-            p_msg[--dwCount] = '\0';
-        }
+        char *term = strrchr(p_msg, '\r');
+        if (term) *term = '\0';
         if (p_msg[0] != '\0') {
             rb_str_cat2(msg, p_msg);
         }
     }
+    LocalFree(p_msg);
     return msg;
 }


In This Thread