From 2bb049097050da8846ddb66d519cd6909a6c8f8c Mon Sep 17 00:00:00 2001 From: ocean Date: Tue, 22 Jun 2004 15:21:03 +0000 Subject: * ext/win32ole/win32ole.c (ole_hresult2msg): remove trailing CR and LF. (doesn't depend on CR+LF) [ruby-dev:23694] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ ext/win32ole/win32ole.c | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 52c2d81b9..87c20a741 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Jun 23 00:20:20 Hirokazu Yamamoto + + * ext/win32ole/win32ole.c (ole_hresult2msg): remove trailing + CR and LF. (doesn't depend on CR+LF) [ruby-dev:23694] + Wed Jun 23 00:00:25 2004 Nobuyoshi Nakada * io.c (rb_io_initialize): should check fcntl result. [ruby-dev:23742] diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c index 6ca066803..a24023f34 100644 --- a/ext/win32ole/win32ole.c +++ b/ext/win32ole/win32ole.c @@ -501,9 +501,12 @@ ole_hresult2msg(hr) NULL, hr, LOCALE_SYSTEM_DEFAULT, (LPTSTR)&p_msg, 0, NULL); if (dwCount > 0) { - term = strrchr(p_msg, '\r'); - if (term) { - *term = '\0'; + term = p_msg + strlen(p_msg); + while (p_msg < term) { + term--; + if (*term == '\r' || *term == '\n') + *term = '\0'; + else break; } if (p_msg[0] != '\0') { rb_str_cat2(msg, p_msg); -- cgit