Commit graph

321 commits

Author SHA1 Message Date
svn
b8d9770b6c * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 14:34:16 +00:00
suke
db8dcd1b27 * ext/win32ole/win32ole.c (ole_variant2val): refactoring.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 14:34:11 +00:00
suke
2a16594d29 * ext/win32ole/win32ole.c (ole_vstr2wc, ole_variant2val): fix blank
string conversion. 
  [Bug #11880]
  Thanks Akio Tajima for the patch!



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 00:48:20 +00:00
naruse
c4fdfabcc8 handle ext/ as r53141
g -L frozen_string_literal ext/**/*.rb|xargs ruby -Ka -e'ARGV.each{|fn|puts
fn;open(fn,"r+"){|f|s=f.read.sub(/\A(#!.*\n)?(#.*coding.*\n)?/,"\\&#
frozen_string_literal: false\n");f.rewind;f.write s}}'

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:31:54 +00:00
nobu
739d9a37cb win32ole.c: check argument type
* ext/win32ole/win32ole.c (ole_vstr2wc): check argument type, vstr
  must be a String here.  reported by Marcin 'Icewall' Noga of
  Cisco Talos.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-13 09:19:20 +00:00
ko1
dff42b0ea0 * ext/**/*.c (*_memsize): same as r52986 for extensions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-09 01:01:17 +00:00
nobu
898fd2ed2a use rb_check_arity [ci skip]
* ext: use rb_check_arity and rb_error_arity to raise
  ArgumentError.  [Feature #9025]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-25 00:43:06 +00:00
nobu
4dcdbb4afc win32ole.c: fix symbol condition
* ext/win32ole/win32ole.c (fole_missing): fix symbol condition,
  rb_check_symbol returns Qnil when the symbol is not interned.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-21 15:46:44 +00:00
nobu
5563173afb win32ole.c: inadvertent symbol creation
* ext/win32ole/win32ole.c (GetIDsOfNames, fole_missing): avoid
  inadvertent symbol creation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-21 15:29:20 +00:00
nobu
288fa8da63 win32ole.c: refactor
* ext/win32ole/win32ole.c (ole_wc2mb): refactor.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-21 14:52:26 +00:00
nobu
068394a7d6 win32ole.c: make ole_mb2wc more generic
* ext/win32ole/win32ole.c (ole_vstr2wc): use ole_mb2wc.

* ext/win32ole/win32ole.c (ole_mb2wc): parametrize code page.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-21 14:40:57 +00:00
nobu
5deaacb0f1 win32ole.c: constified
* ext/win32ole/win32ole.c (vtEventSink): constified.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-21 14:35:33 +00:00
hsbt
0eb195cee3 * ext/win32ole/win32ole.c: fix a typo. Patch by @davydovanton
[fix GH-923]
* include/ruby/st.h: ditto.
* include/ruby/util.h: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-04 02:53:11 +00:00
nobu
828de1a06d win32ole.c: wrapper object before alloc
* ext/win32ole/win32ole.c (Init_win32ole): make wrapper object
  before making st_table.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-28 06:46:17 +00:00
glass
0c14c3ab0b * ext/win32ole/win32ole_variant.c: fix typo "indicies".
the patch is from davydovanton <antondavydov.o at gmail.com>.
  [fix GH-892]

* lib/rubygems/indexer.rb: ditto.

* test/rubygems/test_gem_indexer.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-10 03:01:18 +00:00
nobu
760ae4a8b9 win32ole.c: use rb_sym2str
* ext/win32ole/win32ole.c: use rb_sym2str when the result strings
  will not be modified.

* ext/win32ole/win32ole_event.c: ditto.

* ext/win32ole/win32ole_record.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-14 03:36:40 +00:00
suke
99eaebcea3 * ext/win32ole/win32ole.c (Init_win32ole): should not use atexit to
free allocated hash table to avoid error on Cygwin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-04 11:30:37 +00:00
suke
8f67e9807a * ext/win32ole/win32ole.c (ole_invoke): avoid SEGV when VT_RECORD
variable is passed by reference. [ruby-dev:48803] [Bug #10697] 


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-18 02:53:18 +00:00
nobu
1db0393eb1 uninitialized variable
* process.c (rb_spawn_process): get rid of usage of uninitialized
  variable.
  reported by Denis Denisov <denji0k AT gmail.com>.
* regexec.c (match_at): ditto.
* ext/win32ole/win32ole.c (ole_wc2mb_alloc, ole_vstr2wc, ole_mb2wc):
  ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-26 06:09:11 +00:00
suke
f9dcfb2bca * ext/win32ole/win32ole.c: use typed data for com_hash.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-02 12:34:52 +00:00
suke
7f411d6ed4 * ext/win32ole/win32ole.c: use typed data for WIN32OLE.
* ext/win32ole/win32ole.h: ditto.
* ext/win32ole/win32ole_event.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-01 11:03:13 +00:00
nobu
e580a631be use 0 for reserved
use 0 for rb_data_type_t::reserved instead of NULL, since its type
may be changed in the future and possibly not a pointer type.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-01 06:38:04 +00:00
suke
aed7a09aea ext/win32ole/win32ole_event.c: use typed data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-17 11:18:54 +00:00
suke
985364954f ext/win32ole/win32ole_variant.c: use typed data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-31 21:33:51 +00:00
suke
5d2ce2fb40 ext/win32ole/win32ole.c (ole_val2variant, ole_invoke): refactoring.
use ole_variant2variant to convert WIN32OLE_VARIANT object to
VARIANT object.

ext/win32ole/win32ole_variant.c: refactoring. add
ole_variant2variant.
ext/win32ole/win32ole_variant.h: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-25 22:46:15 +00:00
suke
fb06f0802e ext/win32ole/win32ole_record.c: use typed data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-14 10:16:17 +00:00
suke
b61cb94e94 ext/win32ole/win32ole_variable.c: use typed data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-08 12:44:54 +00:00
suke
1bb2721e4b ext/win32ole/win32ole_method.c: use typed data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 13:44:45 +00:00
suke
ab73066cf3 ext/win32ole/win32ole_param.c: refactoring
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 12:47:58 +00:00
svn
cfd359ca28 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 12:45:10 +00:00
suke
abd783434a ext/win32ole/win32ole_method.c: refactoring. add
olemethod_data_get_struct to wrap Data_Get_Struct.
ext/win32ole/win32ole_method.h: ditto.
	
ext/win32ole/win32ole_param.c (oleparam_ole_param):
call olemethod_data_get_struct instead of Data_Get_Struct.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 12:44:53 +00:00
suke
a60c5a1945 ext/win32ole/win32ole_param.c: use typed data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-06 14:35:43 +00:00
nobu
ba0655ebdd ext: protoize no-arguments functions
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 23:29:24 +00:00
nobu
5540c1de81 ext: protoize no-arguments functions
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 23:09:32 +00:00
zzak
b4e9ffbdc8 * ext/win32ole/sample/example*.rb: Add wait input to quit for examples
with patch provided by @windwiny [Fixes GH-705]
  https://github.com/ruby/ruby/pull/705


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 00:13:18 +00:00
zzak
34fcb5dbee * ext/win32ole/win32ole.c: [DOC] Fix typo in :nodoc: reported by
@windwiny to [Fix GH-705] https://github.com/ruby/ruby/pull/705

* ext/pty/pty.c: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 00:09:57 +00:00
suke
f895ecdcee ext/win32ole/win32ole_method.c(olemethod_set_member): remove
redundant NULL check.
ext/win32ole/win32ole_type.c(oletype_set_member): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-03 21:08:55 +00:00
svn
3b841719c9 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 12:16:48 +00:00
suke
8d00b43b30 ext/win32ole/win32ole_type.c: use typed data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 12:16:35 +00:00
suke
d7b32ffd64 * ext/win32ole/win32ole_typelib.c: use typed data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 09:47:38 +00:00
nobu
28b9f11d5a protoize no-arguments functions
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 05:25:32 +00:00
suke
8bb93fc8ae ext/win32ole/win32ole.c (rbtime2vtdate, vtdate2rbtime): fix
the bug in conversion of milliseconds. [Bug #10258]

test/win32ole/test_win32ole_variant.rb
(test_conversion_dbl2date_with_msec,
test_conversion_time2date_with_msec): use assert_in_delta instead
of assert_equal to treat an acceptable error range.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-21 02:18:37 +00:00
suke
5b800bef9e * ext/win32ole/win32ole_event.c(ev_advise, ole_event_free,
fev_s_allocate, fev_unadvise): avoid segmentation fault when COM
  server freed before calling Unadvise from WIN32OLE_EVENT object.
* ext/win32ole/win32ole.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-13 02:28:47 +00:00
suke
9d0a6f3db7 * ext/win32ole/sample/excel2.rb: remove some commented-out code.
rotate graph more slowly to see graph clearly.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-09 13:01:21 +00:00
suke
6057695c87 * ext/win32ole/win32ole_variant.c (ole_val2variant_err,
ole_val2variantdata, Init_win32ole_variant): support VT_ERROR
  variant with error code. add WIN32OLE_VARIANT::NoParam.
* test/win32ole/test_win32ole_variant.rb(test_c_noparam,
  test_vt_error_noparam): ditto.
* ext/win32ole/win32ole.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-06 07:52:04 +00:00
suke
c5487618f5 * ext/win32ole/win32ole.c (rbtime2vtdate): try to convert millisecond
of Time object to millisecond of VT_DATE VARIANT.
* test/win32ole/test_win32ole_variant.rb
  (test_conversion_time2date_with_msec): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-01 11:16:57 +00:00
suke
ef7b9bf382 * ext/win32ole/win32ole.c (vtdate2rbtime): try to convert millisecond
of VT_DATE VARIANT to nsec of Time object.
* test/win32ole/test_win32ole_variant.rb
  (test_conversion_dbl2date_with_msec): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-27 10:57:28 +00:00
suke
108c4e4495 * ext/win32ole/win32ole.c(fole_s_connect, fole_initialize): raise a
security error with the tainted string object.
* ext/win32ole/win32ole_event.c(ev_advise): ditto.
* test/win32ole/test_win32ole.rb(test_s_new_exc_svr_tainted,
  test_s_new_exc_host_tainted): ditto.
* test/win32ole/test_win32ole_event.rb(test_s_new_exc_tainted): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-25 11:18:17 +00:00
nobu
f9b7a2a33f win32ole.c: check overflow
* ext/win32ole/win32ole.c (ole_invoke): check integer overflow on
  win64 platforms.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-19 01:29:45 +00:00
suke
b62ce0e964 * ext/win32ole/win32ole.c (ole_invoke): use RHASH_SIZE instead of
calling Hash#length method.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-17 08:10:38 +00:00