aboutsummaryrefslogtreecommitdiffstats
path: root/ext/win32ole
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-01-12 08:11:36 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-01-12 08:11:36 +0000
commit9bd672f6682aef683c49f0b8da2b439e4d4103ac (patch)
tree17a6f91b7e705c4ba7bf32e6ceadd136e7b595f5 /ext/win32ole
parent42406852371bdf3fe3d2e4e51192c87720a8e568 (diff)
downloadruby-9bd672f6682aef683c49f0b8da2b439e4d4103ac.tar.gz
ext: use rb_sprintf() and rb_vsprintf() with PRIsVALUE
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/win32ole')
-rw-r--r--ext/win32ole/win32ole.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c
index 9765929f34..072638a10b 100644
--- a/ext/win32ole/win32ole.c
+++ b/ext/win32ole/win32ole.c
@@ -1209,19 +1209,18 @@ static void
ole_raise(HRESULT hr, VALUE ecs, const char *fmt, ...)
{
va_list args;
- char buf[BUFSIZ];
+ VALUE msg;
VALUE err_msg;
va_init_list(args, fmt);
- vsnprintf(buf, BUFSIZ, fmt, args);
+ msg = rb_vsprintf(fmt, args);
va_end(args);
err_msg = ole_hresult2msg(hr);
if(err_msg != Qnil) {
- rb_raise(ecs, "%s\n%s", buf, StringValuePtr(err_msg));
- }
- else {
- rb_raise(ecs, "%s", buf);
+ rb_str_cat2(msg, "\n");
+ rb_str_append(msg, err_msg);
}
+ rb_exc_raise(rb_exc_new_str(ecs, msg));
}
void