Граф коммитов

141 Коммитов

Автор SHA1 Сообщение Дата
suke 8ea0786da1 * ext/win32ole/win32ole.c (foletypelib_name): should return
encoded name corresponding to WIN32OLE.codepage.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-17 00:37:07 +00:00
nobu a9a17a5a44 * ext/win32ole/win32ole.c (load_conv_function51932): fixed for the
case IMultiLanguage is not available.  [ruby-dev:37950]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-09 11:11:57 +00:00
suke 696e6a9b76 * ext/win32ole/win32ole.c (fole_s_connect, fole_initialize,
folevariant_initialize): check argument type of WIN32OLE.connect,
  WIN32OLE.new, WIN32OLE_VARIANT.new.

* test/win32ole/test_win32ole.rb (test_s_new_exc, test_s_connect_exc):
  ditto.

* test/win32ole/test_win32ole_variant.rb (test_s_new_exc): ditto.

* test/win32ole/test_win32ole_method.rb: add assertion of
  WIN32OLE_METHOD.new.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-06 12:38:49 +00:00
suke 2d45869c76 * ext/win32ole/win32ole.c (ole_event_free): invoke IConnectionPoint::Unadvise
before invoking IConnectionPoint::Release.

* test/win32ole/test_win32ole_event.rb, test/win32ole/err_in_callback.rb,
  test/win32ole/test_err_in_callback.rb: Use ActiveX Data Object
  Library instead of InternetExplorer.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-02 13:22:42 +00:00
suke f457364cae * ext/win32ole/win32ole.c (load_conv_function51932): check
having IMultiLanguage2 or IMultiLanguage. [ruby-dev:36716]

* ext/win32ole/extconf.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-14 12:44:37 +00:00
suke 80a5a3f9dc * ext/win32ole/win32ole.c (load_conv_function51932): support
CP51932 on cygwin and mingw32. thanks to arton.

* test/win32ole/test_win32ole.rb (test_cp51932): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-13 00:03:11 +00:00
suke e64453aa69 * ext/win32ole/win32ole.c (set_ole_codepage, ole_cp2encoding,
ole_wc2mb, ole_vstr2wc, ole_mb2wc): support CP51932 (only mswin32).

* test/win32ole/test_win32ole.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-12 09:06:45 +00:00
suke b7212ba643 * ext/win32ole/win32ole.c (ole_init_cp): initialize WIN32OLE.codepage
according to Encoding.default_internal and
  Encoding.default_external.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-08 12:05:18 +00:00
suke 06df4049ed * ext/win32ole/win32ole.c (fev_initialize): initialization
handler instance variable.

* test/win32ole/test_win32ole_typelib.rb (test_s_typelibs):
  fix the warning of shadowing outer local variable.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-29 11:18:37 +00:00
suke 8dcd42552f * ext/win32ole/win32ole.c (rescue_callback): use rb_write_error
instead of fprintf.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-29 11:01:55 +00:00
ko1 69029b90fe * gc.c, include/ruby/ruby.h: rename rb_register_mark_object()
to rb_gc_register_mark_object().
* eval.c, vm.c: initialize vm->mark_object_ary at
  Init_top_self().
* bignum.c, complex.c, encoding.c, ext/win32ole/win32ole.c,
  io.c, load.c, marshal.c, rational.c, ruby.c, vm.c:
  use rb_gc_register_mark_object() instead of
  rb_global_variable() or rb_gc_register_address().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-15 14:59:14 +00:00
suke f6f85ad683 * ext/win32ole/win32ole.c (ole_invoke): WIN32OLE#[] and WIN32OLE#[]=
accepts number argument.

* test/win32ole/test_win32ole.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-27 14:43:23 +00:00
suke e231d67ee1 * ext/win32ole/win32ole.c (hash2named_arg): refactoring.
* ext/win32ole/win32ole.c (ole_invoke, fole_respond_to, ev_on_event,
  fev_off_event): accepts Symbol argument.

* test/win32ole/test_win32ole.rb: ditto.

* test/win32ole/test_win32ole_event.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-03 10:43:44 +00:00
suke 2e400ad1b8 * ext/win32ole/win32ole.c (Init_win32ole): add
WIN32OLE_EVENT#handler=, WIN32OLE_EVENT#handler

* test/win32ole/test_win32ole_event.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-26 12:27:57 +00:00
suke 6997482140 * ext/win32ole/win32ole.c (add_event_call_back): remove unused
variable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-25 22:48:25 +00:00
suke 148d575264 * ext/win32ole/win32ole.c (ole_invoke, add_event_callback,
rescue_callback): refactoring.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-25 12:13:57 +00:00
suke 4aec73e1ed * ext/win32ole/win32ole.c (Init_win32ole): add
WIN32OLE_EVENT#off_event.

* test/win32ole/test_win32ole_event.rb: ditto.
	
* test/win32ole/test_win32ole_event.rb: some refactoring.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-25 11:49:28 +00:00
nobu 7481463bf6 * ext/win32ole/win32ole.c: got rid of improper casts.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-23 22:01:36 +00:00
suke 4e554319dd * ext/win32ole/win32ole.c (EVENTSINK_Invoke): use rb_protect
instead of rb_rescue2. [ruby-dev:35595]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-20 07:05:20 +00:00
suke a9b125cf20 * ext/win32ole/win32ole.c (EVENTSINK_Invoke): little refactoring.
* ext/win32ole/win32ole.c (EVENTSINK_GetIDsOfNames): return
  ITypeInfo::GetIDsOfNames().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-19 16:28:23 +00:00
suke 535f17f30b * ext/win32ole/win32ole.c (EVENTSINK_Invoke): little refactoring.
* ext/win32ole/win32ole.c: add document of inspect methods.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-19 00:35:38 +00:00
suke 305b347ae5 * ext/win32ole/win32ole.c (EVENTSINK_Invoke): avoid cfp consistency
error when exception raised in event callback.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-18 14:28:37 +00:00
suke 6e0ed5570e * ext/win32ole/win32ole.c (EVENTSINK_Invoke): using hash
to set value to the reference argument of event.

* test/win32ole/test_win32ole_event.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-13 12:36:26 +00:00
suke 4857543691 * ext/win32ole/win32ole.c (find_default_source): bug fix when
OLE object does not have default source interface.

* test/win32ole/test_win32ole_event.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-08 14:05:38 +00:00
suke 6c32d10c01 * ext/win32ole/win32ole.c (find_default_source): try to
find COCLASS when WIN32OLE object is not COCLASS. 

* test/win32ole/test_win32ole_event.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-08 11:13:09 +00:00
suke 6aff4b8eaa * ext/win32ole/win32ole.c(Init_win32ole): add
WIN32OLE_TYPE#source_ole_types, WIN32OLE_TYPE#default_ole_types,
  WIN32OLE_TYPE#default_event_sources.

* test/win32ole/test_win32ole_type.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-07 11:49:14 +00:00
suke 1890ae7aa9 * ext/win32ole/win32ole.c: add WIN32OLE#ole_respond_to?
* test/win32ole/test_win32ole.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-05 01:01:01 +00:00
suke 7a05bfaaab * ext/win32ole/win32ole.c (d2time): fix the bug of VT_DATE
to String conversion when negative value.
	  
* test/win32ole/test_win32ole_variant.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-04 14:19:01 +00:00
suke 854d955393 * ext/win32ole/win32ole.c (Init_win32ole): remove duplicate line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-03 10:48:02 +00:00
suke b892e3dd1b * ext/win32ole/win32ole.c: avoid creating Ruby object during
GC. thanks to arton <artonx AT yahoo.co.jp>. [ruby-dev:35313]

* test/win32ole/test_win32ole_event.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-02 15:35:04 +00:00
suke e47ebfe518 * ext/win32ole/win32ole.c (date2time_str): fix the overflow in
some situation. [ruby-bugs-20793]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-28 23:00:58 +00:00
suke dd02419760 * ext/win32ole/win32ole.c : check String encoding when
converting String to VT_BSTR in OLE.

* test/win32ole/test_win32ole.rb : ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-27 23:43:57 +00:00
suke 238738f314 * ext/win32ole/win32ole.c(ole_invoke): fix memory leak.
[ruby-bugs-20792]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-24 13:11:21 +00:00
usa 11fbd724cc * ext/win32ole/win32ole.c: avoid warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-22 00:58:51 +00:00
knu ffc456d0ed * ext/dbm/dbm.c (fdbm_each_value, fdbm_each_key, fdbm_each_pair):
GDBM#{each,each_pair,each_key,each_value}: Return an enumerator
	  if no block is given.

	* ext/gdbm/gdbm.c (fgdbm_each_value, fgdbm_each_key,
	  fgdbm_each_pair): GDBM#{each,each_pair,each_key,each_value}:
	  Return an enumerator if no block is given.

	* ext/openssl/ossl_config.c (ossl_config_each):
	  OpenSSL::Config#each: Return an enumerator if no block is given.

	* ext/readline/readline.c (hist_each): Readline::HISTORY#each:
	  Return an enumerator if no block is given.

	* ext/sdbm/init.c (fsdbm_each_value, fsdbm_each_key,
	  fsdbm_each_pair): SDBM#{each,each_pair,each_key,each_value}:
	  Return an enumerator if no block is given.

* ext/stringio/stringio.c (strio_each_byte, strio_each):
  StringIO#{each,each_line,each_byte}: Return an enumerator if no
  block is given.

* ext/stringio/stringio.c (Init_stringio): Add #lines and #bytes,
  which are aliases to #each_line and #each_byte, respectively.

* ext/win32ole/win32ole.c (fole_each): WIN32OLE#each: Return an
  enumerator if no block is given.

* ext/zlib/zlib.c (rb_gzreader_each_byte, rb_gzreader_each):
  Zlib::GzipReader#{each,each_line,each_byte}: Return an
  enumerator if no block is given.

* ext/zlib/zlib.c (Init_zlib): Add Zlib::GzipReader#lines and
  #bytes, which are aliases to #each_line and #each_byte,
  respectively.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-21 08:48:33 +00:00
usa fa222ced64 * ext/win32ole/win32ole.c (ole_init_cp): should return value.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-23 12:36:51 +00:00
suke 93efbc78bd * ext/win32ole/win32ole.c (ole_encoding2cp): remove US-ASCII
mapping.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-23 09:55:33 +00:00
suke 41ca14e8ac * ext/win32ole/win32ole.c (ole_init_cp): initialize WIN32OLE.codepage
according to Encoding.default_external.

* test/win32ole/test_win32ole.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-15 11:36:24 +00:00
usa 1e8e70a311 * ext/win32ole/win32ole.c (ole_cp2encoding): new function.
* ext/win32ole/win32ole.c (ole_wc2vstr, ole_variant2val, fole_missing):
	  set encoding to result.

	* ext/win32ole/win32ole.c (fole_s_set_code_page, Init_win32ole): set
	  default encoding.
	  [ruby-dev:33433]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-28 10:42:53 +00:00
suke 1b8aac3269 * ext/win32ole/win32ole.c (ole_set_safe_array): should not use
recursive calling.

* test/win32ole/test_win32ole_variant.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-19 00:29:31 +00:00
akr 6cdef2dc7e * $Date$ keyword removed to avoid inclusion of locale dependent
string.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-06 15:49:38 +00:00
akr 4cf437519f * regerror.c, string.c, io.c, lib/getoptlong.rb, lib/net/imap.rb,
compile.c, sprintf.c, parse.y, ext/win32ole/win32ole.c,
  ext/tk/sample/demos-en/entry3.rb, ext/tk/lib/tcltk.rb,
  ext/openssl/ossl_bn.c, numeric.c, vm.c,
  benchmark/bm_so_meteor_contest.rb, bignum.c, ruby.c: don't "illegal"
  for non law violation context.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21 02:31:11 +00:00
suke 24dcd39f19 ext/win32ole/win32ole.c (ole_invoke): bug fix. [ruby-talk:279100]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-17 15:04:55 +00:00
suke 31c764ff7f * ext/win32ole/win32ole.c (foletype_s_ole_classes,
foletype_s_typelibs): refactoring.
	
* test/win32ole/test_win32ole_type.rb: add some test. 

* ext/win32ole/win32ole.c (Init_win32ole): change method name
  WIN32OLE_TYPELIB.ole_types from WIN32OLE_TYPELIB.ole_classes.

* test/win32ole/test_win32ole_typelib.rb: ditto.

* test/win32ole/test_folderitem2_invokeverb.rb: check create
  shortcut string more strictly (This test is invoked in Japanese
  Windows environment).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-13 12:40:24 +00:00
suke b528261ad8 * ext/win32ole/win32ole.c (fev_unadvise): no needs to reset
event handlers.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-14 13:25:44 +00:00
suke 9ecd43fa98 * ext/win32ole/win32ole.c: add WIN32OLE_EVENT#unadvise.
* test/win32ole/test_win32ole_event.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-04 11:48:53 +00:00
suke 0c5e6ab2bb * ext/win32ole/win32ole.c (ole_event_free): IConnectionPoint should be
released.

* ext/win32ole/win32ole.c (EVENTSINK_Destructor): ITypeInfo should be
  released.

* ext/win32ole/win32ole.c (fev_initialize): refactoring.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-01 11:11:51 +00:00
suke 41585e424b * ext/win32ole/win32ole.c (ole_type_progid): progid getted by
ProgIDFromCLSID should be freed by CoTaskMemFree. Thanks, arton.

* test/win32ole/test_win32ole.rb (test_raise_message): set negative
  compareMode value to raise WIN32OLERuntimeError.

* test/win32ole/test_win32ole_type.rb (test_implemented_ole_types):
  support some environment which returns IShellDispatch5 instead 
  of IShellDispatch.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-28 10:23:31 +00:00
suke a1a618ead1 * ext/win32ole/win32ole.c (ole_type_progid): fix the bug.
[ruby-dev:31576]

* test/win32ole/test_win32ole_type.rb (test_initialize):
  remove duplicate assertions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-27 11:38:29 +00:00
suke 71e6011d63 * ext/win32ole/win32ole.c (ole_wc2mb, reg_enum_key): allocate
buffer should be NULL terminated.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-25 21:57:46 +00:00