Commit graph

6203 commits

Author SHA1 Message Date
nobu
acf1ea1ab4 psych: typed data
* ext/psych/psych_emitter.c (psych_emitter_type): turn into typed
  data.

* ext/psych/psych_parser.c (psych_parser_type): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 23:33:19 +00:00
nobu
163cb5b43d openssl: typed data
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 23:33:15 +00:00
nobu
1e46f02394 json/parser: typed data
* ext/json/parser/parser.rl (JSON_Parser_type): turn into typed
  data.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 23:33:11 +00:00
nobu
bdfc2e2942 json/generator: typed data
* ext/json/generator/generator.c (JSON_Generator_State_type): turn
  into typed data.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 23:33:09 +00:00
nobu
ab7695fc50 sdbm: typed data
* ext/sdbm/init.c (sdbm_type): turn into typed data.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 23:33:06 +00:00
nobu
20904659c3 gdbm: typed data
* ext/gdbm/gdbm.c (dbm_type): turn into typed data.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 23:33:04 +00:00
nobu
ad48d99876 dbm: typed data
* ext/dbm/dbm.c (dbm_type): turn into typed data.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 23:33:01 +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
normal
02be147c8a ext/zlib/zlib.c: TypedData conversion
* ext/zlib/zlib.c (zstream_mark, zstream_free): update signature
  (gzfile_mark, gzfile_free): ditto
  (zstream_memsize): new function for rb_data_type->dsize
  (gzfile_memsize): ditto
  (zstream_data_type, gzfile_data_type): new data types
  (zstream_new): Data_Make_Struct => TypedData_Make_Struct
  (gzfile_new): ditto
  (get_zstream, get_gzfile): Data_Get_Struct => TypedData_Get_Struct
  (rb_zstream_flush_next_in): ditto
  (rb_zstream_flush_next_out): ditto
  (rb_zstream_avail_out): ditto
  (rb_zstream_avail_in): ditto
  (rb_zstream_closed_p): ditto
  (rb_deflate_initialize): ditto
  (rb_deflate_init_copy): ditto
  (rb_inflate_initialize): ditto
  (gzfile_ensure_close): ditto
  (rb_gzfile_closed_p): ditto
  (rb_gzfile_path): ditto
  (rb_gzwriter_initialize): ditto
  (rb_gzreader_initialize): ditto
  (rb_gzreader_unused): ditto
  [ruby-core:65377] [Feature #10319]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 20:56:10 +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
zzak
165625e8e1 * ext/openssl/ossl_rand.c: [DOC] Add call signature for pseudo_bytes
and random_bytes, wrap lines at 80 chars, and remove useless
  comments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 00:01:07 +00:00
zzak
27886620d8 * ext/openssl/ossl_rand.c: [DOC] Add rdoc for method descriptions
By @vipulnsward [Fixes GH-657] https://github.com/ruby/ruby/pull/657


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-03 23:51:09 +00:00
zzak
ce63c19ccc * ext/openssl/ossl_rand.c: Use rb_define_module_function instead of
macro. [Fixes GH-686] https://github.com/ruby/ruby/pull/686


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-03 23:24:50 +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
usa
56fa18c9d3 * ext/etc/etc.c (etc_nprocessors): Windows support.
see [Feature #10267]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-02 09:42:23 +00:00
akr
7b25bd8ba2 * ext/etc/etc.c (etc_nprocessors): New method.
Accepted by matz at RubyKaigi 2014.
  [ruby-core:65142] [Feature #10267]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-02 03:23:26 +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
b208e060f2 ext/digest: hide metadata objects for internal use
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 08:29:02 +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
nobu
ef9d134951 racc/cparse: private class
* ext/racc/cparse/cparse.c (Init_cparse): Racc::CparseParams is a
  private class, undefine allocate and initialize methods.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 14:13:50 +00:00
nobu
2f2f92b73e digest: no check for hidden objects
* ext/digest/digest.c (get_digest_base_metadata): metadata objects
  are hidden from ruby level.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 12:17:47 +00:00
nobu
b5de461a49 date_core.c: revert const
* ext/date/date_core.c (SimpleDateData, ComplexDateData): revert
  const for aggregation assignments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 02:20:56 +00:00
nobu
cedc0d1f6e date_core.c: more write-barriers
* ext/date/date_core.c (SimpleDateData, ComplexDateData): constify
  VALUE members to find out missing write-barriers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 01:45:11 +00:00
nobu
036acdab02 date_core.c: write-barrier
* ext/date/date_core.c (d_lite_type): add write-barrier.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 00:49:18 +00:00
nobu
e912c167d2 date_core.c: typed data
* ext/date/date_core.c (d_lite_type): turn into typed data.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 00:49:12 +00:00
nobu
c47b523246 ruby.h: warn untyped Data
* include/ruby/ruby.h (rb_data_object_alloc_warning): warn
  Data_Wrap_Struct and Data_Make_Struct only if
  RUBY_UNTYPED_DATA_WARNING is set to 1.

* include/ruby/ruby.h (rb_data_object_get_warning): ditto for
  Data_Get_Struct.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 15:27:24 +00:00
nobu
15ae462d8b digest.c: typed data
* ext/digest/digest.c (rb_digest_base_alloc): use typed data.

* ext/digest/digest.c (rb_digest_base_copy): fail unless original
  object has same algorithm.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-27 01:30:16 +00:00
nobu
bb10a21346 ruby.h: deprecate plain Data
* include/ruby/ruby.h (rb_data_object_alloc_deprecated): deprecate
  Data_Make_Struct and Data_Wrap_Struct.  [EXPERIMENTAL]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-27 01:28:47 +00:00
nobu
2a8989d71c stringio.c: ASCII-8BIT StringIO rejects no encodings
* ext/stringio/stringio.c (strio_write): ASCII-8BIT StringIO
  should be writable any encoding strings, without conversion.
  [ruby-core:65240] [Bug #10285]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-26 03:52:37 +00:00
normal
4d10c2b91d ext/socket/*.c: trivial struct packing for 64-bit
* ext/socket/ancdata.c ({send,recv}msg_args_struct): 24 => 16 bytes
* ext/socket/init.c (connect_arg): ditto
* ext/socket/raddrinfo.c (getnameinfo_arg): 56 => 48 bytes

Other big stack reductions are less trivial.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-22 00:46:25 +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
nobu
b0c03f63e5 parse.y: quoted ID key
* parse.y (assoc): allow quoted ID as a key of a hash literal.
  [ruby-core:34453] [Feature #4276]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20 01:48:43 +00:00
akr
341376215b * ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#pretty_print):
New method.
  (OpenSSL::X509::Certificate#pretty_print): Ditto.

* ext/openssl/lib/openssl/bn.rb (OpenSSL::BN#pretty_print): Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20 01:17:05 +00:00
nobu
dc70a9c422 fbuffer.h: expand arguments
* ext/json/fbuffer/fbuffer.h (fbuffer_to_s): expand arguments, for
  fix with rb_str_new macro.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-18 14:51:45 +00:00
normal
338cea741d ext/zlib/zlib.c (struct gzfile): pack (288 => 272 bytes) on 64-bit
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-17 22:01:31 +00:00
normal
7914a8726e socket (rsock_connect): fix and refactor for blocking
* ext/socket/init.c (rsock_connect): refactor for blocking
  (wait_connectable): clear error before wait
  [Bug #9356]

We no longer use non-blocking sockets to emulate blocking behavior,
so eliminate error-prone and confusing platform-dependent code.
According to POSIX, connect() only needs to be called once in the
face of EINTR, so do not loop on it.

Before waiting on connect, drop any pending errors, since
rb_wait_for_single_fd may not clear the existing error
properly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-17 21:20:58 +00:00
normal
f5e06db39c ext/zlib/zlib.c (zlib_mem_alloc): check overflow
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-17 07:26:12 +00:00
nobu
8ae989f6b6 pathname.rb: fix a Pathname#relative_path_from crash on
* ext/pathname/lib/pathname.rb (SAME_PATHS):
  Pathname#relative_path_from uses String#casecmp to compare strings
  on case-insensitive filesystem platforms (e.g., Windows). This can
  return nil for strings with different encodings, and the code
  previously assumed that it always returned a Fixnum.  [Fix GH-713]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-15 01:29:21 +00:00
nobu
065b6d2b7c fiddle/import.rb: fix typo
* ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): fix typo,
  SIZEOF_LONG_LON.  [Fix GH-714]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-15 00:43:14 +00:00
tenderlove
e548c09d42 * ext/psych/lib/psych.rb: update version
* ext/psych/psych.gemspec: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-14 02:04:03 +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
nobu
f52dc33270 ext/Setup.nacl: remove trainling space.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-12 15:39:09 +00:00
nobu
24b03b32e4 readline.c: use rb_setup_fake_str
* ext/readline/readline.c (readline_s_delete_text): initialize a
  fake string by rb_setup_fake_str().

* internal.h (rb_setup_fake_str): allow extensions to call.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-12 13:11:13 +00:00
naruse
a8ec4b2cf2 * string.c (sym_find): remove Symbol.find because we have Symbol GC now.
https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20140904Japan
  If you still want this, request again on Redmine. [Feature #7854]
  https://bugs.ruby-lang.org/issues/7854

* ext/-test-/symbol/init.c (sym_find): moved from string.c for tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-11 21:22:52 +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