Commit graph

278 commits

Author SHA1 Message Date
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
suke
890eb07370 * ext/win32ole/win32ole.c (ole_event_free, EVENTSINK_Destructor,
fev_initialize): remove the connection ole_event_free and 
  EVENTSINK_Destructor.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-25 14:01:08 +00:00
suke
32716144fd * ext/win32ole/win32ole.c (reg_get_value): use RegQueryValueEx instead
of RegQueryValueEx.

* ext/win32ole/win32ole.c (typelib_file_from_clsid): fix the bug
  that the function always returns Qnil.

* test/win32ole/test_win32ole_type.rb (test_initialize): add some test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-23 11:14:03 +00:00
ko1
14c3aa52ae * proc.c (Init_Proc), eval.c (Init_eval), eval_intern.h: move
init place of exception_error.
* inits.c: ditto.
* eval.c (Init_eval): set exception_error#throwed_state as TAG_FATAL.
  [ruby-dev:31407]
* bootstraptest/test_exception.rb: add a test for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-14 10:53:53 +00:00
nobu
f1622c195d * file.c (rb_file_s_rename): deleted code to get rid of a bug of
old Cygwin.

* file.c (rb_file_truncate): added prototype of GetLastError()
  on cygwin.  [ruby-dev:31239]

* include/ruby/intern.h (is_ruby_native_thread): prototype.

* missing/strftime.c (strftime): fix printf format and actual
  arguments.

* ext/Win32API/Win32API.c (Win32API_initialize): ditto.

* ext/tk/tcltklib.c (ip_finalize): ditto.

* ext/win32ole/win32ole.c (lcid_installed): ditto.

* ext/socket/getnameinfo.c: include stdio.h always.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-22 05:33:54 +00:00
nobu
2b592580bf * include/ruby: moved public headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 03:06:15 +00:00
suke
d50f882cf0 * ext/win32ole/win32ole.c: add WIN32OLE#ole_activex_initialize,
a little bit supporting ActiveX control. [ruby-talk:241188]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-16 13:24:06 +00:00
suke
c769454c0e * ext/win32ole/win32ole.c: add WIN32OLE_TYPELIB#library_name,
WIN32OLE_TYPELIB#visible?.

* test/win32ole/test_win32ole_typelib.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-09 22:21:59 +00:00
suke
e8783d008c * ext/win32ole/win32ole.c (get_ptr_of_variant, ole_set_safe_array,
ole_val2ptr_variant, ole_val2olevariantdata, ole_variant2val,
  ): fix some bugs of WIN32OLE_VARIANT.new when variant type is 
  VT_ARRAY|VT_BSTR or VT_BYREF.

* ext/win32ole/win32ole.c (folevariant_s_array, folevariant_initialize):
  WIN32OLE_VARIANT#[], WIN32OLE_VARIANT#[]=, WIN32OLE_VARIANT#value=
  is defined as instance method of WIN32OLE_VARIANT.

* test/win32ole/test_win32ole_variant.rb: add some test for 
  VT_ARRAY, VT_BYREF variant type.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-02 12:35:02 +00:00
suke
1fcf93350f * ext/win32ole/win32ole.c: add WIN32OLE_VARIANT.array,
WIN32OLE_VARIANT#value=, refactoring.

* test/win32ole/test_win32ole_variant.rb: add some test for
  WIN32OLE_VARIANT.array, WIN32OLE_VARIANT#value=.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23 22:39:25 +00:00
suke
975ce3add3 * ext/win32ole/win32ole.c (installed_code_page_proc,
ole_variant2val): small refactoring.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-20 12:25:40 +00:00
suke
fdf4aa982f * ext/win32ole/win32ole.c (ole_variant2val): VC++6 does not
support VT_I8, VT_UI8.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-14 13:57:59 +00:00
suke
1a4b93cf92 * ext/win32ole/win32ole.c (ole_variant2val): support VT_I8, VT_UI8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-12 05:00:41 +00:00
suke
777ad4ee75 * ext/win32ole/win32ole.c (ole_ptrtype2val): ole_type, ole_type_detail
should not return "VARIANT,VARIANT".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-11 13:45:57 +00:00