diff options
| author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-02-20 12:25:40 +0000 |
|---|---|---|
| committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-02-20 12:25:40 +0000 |
| commit | 8ca16efb921b966987a9b25ac764dda027d2dab1 (patch) | |
| tree | 0c98a7ea2332d5e3584f8c3e41f9d7b4fc7e2a68 /ext | |
| parent | b0b96d438c9ffa48b07689adcc03bdbc84007710 (diff) | |
| download | ruby-8ca16efb921b966987a9b25ac764dda027d2dab1.tar.gz ruby-8ca16efb921b966987a9b25ac764dda027d2dab1.tar.xz ruby-8ca16efb921b966987a9b25ac764dda027d2dab1.zip | |
* ext/win32ole/win32ole.c (installed_code_page_proc,
ole_variant2val): small refactoring.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/win32ole/win32ole.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c index 7b31649c8..95a1387da 100644 --- a/ext/win32ole/win32ole.c +++ b/ext/win32ole/win32ole.c @@ -80,7 +80,7 @@ #define WC2VSTR(x) ole_wc2vstr((x), TRUE) -#define WIN32OLE_VERSION "0.9.7" +#define WIN32OLE_VERSION "0.9.8" typedef HRESULT (STDAPICALLTYPE FNCOCREATEINSTANCEEX) (REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*); @@ -1535,7 +1535,7 @@ ole_variant2val(VARIANT *pvar) if(V_ISARRAY(pvar)) { SAFEARRAY *psa = V_ISBYREF(pvar) ? *V_ARRAYREF(pvar) : V_ARRAY(pvar); - long i; + UINT i = 0; long *pid, *plb, *pub; VARIANT variant; VALUE val; @@ -1566,14 +1566,15 @@ ole_variant2val(VARIANT *pvar) hr = SafeArrayLock(psa); if (SUCCEEDED(hr)) { obj = rb_ary_new(); - while (i >= 0) { + i = 0; + while (i < dim) { ary_new_dim(obj, pid, plb, dim); hr = SafeArrayPtrOfIndex(psa, pid, &V_BYREF(&variant)); if (SUCCEEDED(hr)) { val = ole_variant2val(&variant); ary_store_dim(obj, pid, plb, dim, val); } - for (i = dim-1 ; i >= 0 ; --i) { + for (i = 0; i < dim; ++i) { if (++pid[i] <= pub[i]) break; pid[i] = plb[i]; @@ -2396,7 +2397,7 @@ fole_s_get_code_page(VALUE self) static BOOL CALLBACK installed_code_page_proc(LPTSTR str) { - if (atol(str) == g_cp_to_check) { + if (strtoul(str, NULL, 10) == g_cp_to_check) { g_cp_installed = TRUE; return FALSE; } |
