Jeremy Evans
d9b8411a7b
Document that StringScanner#matched_size returns size in bytes [ci skip]
...
Fixes [Bug #17139 ]
2020-09-02 10:41:49 -07:00
Sutou Kouhei
c23c880f56
[ruby/strscan] Bump version
...
df90d541fa
2020-08-31 21:57:35 +09:00
Nobuyoshi Nakada
c76508b88c
[ruby/strscan] Replaced examples using $KCODE with encodings
...
`$KCODE` has been deprecated and not effective since years ago.
7c4dbd4cb3
2020-08-31 21:57:35 +09:00
Nobuyoshi Nakada
d8720eb7de
Suppress -Wshorten-64-to-32 warnings
2020-04-08 16:28:38 +09:00
Jeremy Evans
d03da13b17
[ruby/strscan] Remove taint support
...
Ruby 2.7 deprecates taint and it no longer has an effect.
The lack of taint support should not cause a problem in
previous Ruby versions.
2019-11-18 01:00:25 +02:00
Nobuyoshi Nakada
3e763883ea
Fixed overflow at onig_region_set
...
To get rid of a bug of `onig_region_set` which takes `int`s
instead of `OnigPosition`s, set elements of `beg` and `end`
members directly, for the time being.
2019-10-14 15:10:56 +09:00
Sutou Kouhei
95c420c4a6
Import StringScanner 1.0.3 ( #2553 )
2019-10-14 12:40:50 +09:00
nobu
c8094ff154
no ID cache in Init functions
...
Init functions are called only once, cache is useless.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-16 08:39:48 +00:00
stomar
9a26a4c13a
ext/strscan/strscan.c: [DOC] grammar fixes
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-08 22:42:19 +00:00
nobu
256c88861b
strscan.c: add MatchData-like methods
...
* ext/strscan/strscan.c: added `size`, `captures` and `values_at`
to StringScanner, shorthands of accessing the matched data.
based on the patch by apeiros (Stefan Rusterholz) at
[ruby-core:20412]. [Feature #836 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-29 07:57:48 +00:00
nobu
90311f37e4
strscan.c: fix segfault in aref
...
* ext/strscan/strscan.c (strscan_aref): fix segfault after
get_byte or getch which do not apply regexp.
[ruby-core:82116] [Bug #13759 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-07-21 13:30:46 +00:00
nobu
0b149ab5f3
strscan.c: minl
...
* ext/strscan/strscan.c (minl): extract to reduce repeated S_LEN.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-28 05:11:22 +00:00
nobu
604ae2e151
strscan.c: use S_RESTLEN
...
* ext/strscan/strscan.c (strscan_getch, strscan_peek),
(strscan_rest_size, inspect2): use S_RESTLEN consistently.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-28 05:11:20 +00:00
naruse
21daa56b2a
* re.c: Introduce RREGEXP_PTR.
...
patch by dbussink.
partially merge https://github.com/ruby/ruby/pull/497
* include/ruby/ruby.h: ditto.
* gc.c: ditto.
* ext/strscan/strscan.c: ditto.
* parse.y: ditto.
* string.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-02 04:39:44 +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
6fb9349d85
allocate structs with wrapper
...
* parse.y (rb_parser_new, ripper_s_allocate): allocate structs
with making new wrapper objects and get rid of potential memory
leak.
* variable.c (rb_autoload): ditto.
* ext/digest/digest.c (rb_digest_base_alloc): ditto.
* ext/strscan/strscan.c (strscan_s_allocate): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-16 12:56:48 +00:00
nobu
012c558127
re.c: rb_reg_region_copy
...
* re.c (rb_reg_region_copy): new function to try with GC if copy
failed and return the error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-01 21:30:58 +00:00
nobu
8b3813f6b0
strscan.c: fix condition
...
* ext/strscan/strscan.c (strscan_init_copy): fix inverted
condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-01 19:47:36 +00:00
nobu
4d63c85031
re.c: check if onig_region_copy failed
...
* re.c (CHECK_REGION_COPIED): onig_region_copy() can fail when
memory exhausted but returns nothing, so check by if allocated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-01 19:43:10 +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
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
4713ace44c
strscan.c: encoding in messages
...
* ext/strscan/strscan.c (strscan_aref): preserve argument encoding
in error messages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-03 01:56:31 +00:00
nobu
27c4fb3361
ext: get rid of inadvertent ID creation
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-03 01:56:16 +00:00
normal
48a2b96d2b
introduce ZALLOC{,_N} to replace ALLOC{,_N}+MEMZERO use
...
Using calloc where possible reduces code and binary sizes.
* include/ruby/ruby.h (ZALLOC, ZALLOC_N): implement
(Data_Make_Struct, TypedData_Make_Struct):
ZALLOC replaces ALLOC+memset
* compile.c (iseq_seq_sequence): ZALLOC_N replaces ALLOC_N+MEMZERO
* cont.c (fiber_t_alloc): ZALLOC replaces ALLOC+MEMZERO
* io.c (rb_io_reopen): ditto
* iseq.c (prepare_iseq_build): ditto
* parse.y (new_args_tail_gen, parser_new, ripper_s_allocate): ditto
* re.c (match_alloc): ditto
* variable.c (rb_const_set): ditto
* ext/socket/raddrinfo.c (get_addrinfo): ditto
* ext/strscan/strscan.c (strscan_s_allocate): ditto
* gc.c (rb_objspace_alloc): calloc replaces malloc+MEMZERO
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-25 21:34:35 +00:00
akr
543b402f38
* ext/socket/ifaddr.c (IS_IFADDRS): Unused macro removed.
...
* ext/strscan/strscan.c (BUFSIZE): Ditto.
* ext/zlib/zlib.c (OBJ_IS_FREED): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-11 16:31:51 +00:00
nobu
43d4148682
strscan.c: fix typo
...
* ext/strscan/strscan.c (inspect1): fix typo, rb_str_cat() instead
of rb_str_cat2().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-14 03:23:20 +00:00
nobu
747e3c73e0
strscan.c: make string directly
...
* ext/strscan/strscan.c (inspect1): extract intermediate string from
the buffer directly, like as inspect2.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-14 02:48:07 +00:00
nobu
7e9bd8f72c
ext: real class name
...
* ext/dl/cptr.c (rb_dlptr_inspect): use real class name, not
singleton class.
* ext/fiddle/pointer.c (rb_fiddle_ptr_inspect): ditto.
* ext/strscan/strscan.c (strscan_inspect): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-13 00:57:36 +00:00
nobu
9bd672f668
ext: use rb_sprintf() and rb_vsprintf() with PRIsVALUE
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-12 08:11:36 +00:00
ko1
c5e08b764e
* add RUBY_TYPED_FREE_IMMEDIATELY to data types which only use
...
safe functions during garbage collection such as xfree().
On default, T_DATA objects are freed at same points as fianlizers.
This approach protects issues such as reported by [ruby-dev:35578].
However, freeing T_DATA objects immediately helps heap usage.
Most of T_DATA (in other words, most of dfree functions) are safe.
However, we turned off RUBY_TYPED_FREE_IMMEDIATELY by default
for safety.
* cont.c: ditto.
* dir.c: ditto.
* encoding.c: ditto.
* enumerator.c: ditto.
* error.c: ditto.
* file.c: ditto.
* gc.c: ditto.
* io.c: ditto.
* iseq.c: ditto.
* marshal.c: ditto.
* parse.y: ditto.
* proc.c: ditto.
* process.c: ditto.
* random.c: ditto.
* thread.c: ditto.
* time.c: ditto.
* transcode.c: ditto.
* variable.c: ditto.
* vm.c: ditto.
* vm_backtrace.c: ditto.
* vm_trace.c: ditto.
* ext/bigdecimal/bigdecimal.c: ditto.
* ext/objspace/objspace.c: ditto.
* ext/stringio/stringio.c: ditto.
* ext/strscan/strscan.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-29 11:16:54 +00:00
naruse
9b119ab456
Remove unused variable
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-25 11:37:35 +00:00
naruse
c43dd625b6
* ext/strscan/strscan.c (strscan_aref): raise error if given
...
name reference is not found.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 07:32:45 +00:00
naruse
ecd5bbe82a
* ext/strscan/strscan.c (strscan_aref): support named captures.
...
patched by Konstantin Haase [ruby-core:54664] [Feature #8343 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-21 13:48:57 +00:00
ryan
0700a9113f
Added #charpos for multibyte string position.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 00:17:33 +00:00
nobu
00e6c80221
* ext/strscan/strscan.c: use typed data with
...
onig_region_memsize().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-15 05:48:39 +00:00
akr
eb239b4334
* ext/strscan/strscan.c: parenthesize macro arguments.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-31 11:42:23 +00:00
naruse
6b1cf264a8
* ext/sdbm/_sdbm.c (sdbm_open): use size_t.
...
* ext/syck/bytecode.c: ditto.
* ext/sdbm/_sdbm.c (delpair): use ptrdiff_t.
* ext/sdbm/init.c: use RSTRING_LENINT.
* ext/dl/handle.c: suppress warning: shorten-64-to-32.
* ext/strscan/strscan.c: ditto.
* ext/syck/emitter.c: ditto.
* ext/syck/implicit.c: ditto.
* ext/syck/syck.c: ditto.
* ext/syck/token.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-25 06:46:57 +00:00
nobu
977267c2e0
* ext/**/*.[ch]: removed trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-22 08:04:13 +00:00
naruse
6dc1a46323
* ext/strscan/strscan.c: fix rdoc. (length -> bytesize)
...
reported by Kornelius Kalnbach. see [ruby-core:27792]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-26 07:56:36 +00:00
nobu
2ef382231f
* ext/strscan/strscan.c (strscan_set_string): set string should not be
...
dupped or frozen, because freezing it causes #concat method failure,
and unnecessary to dup without freezing. a patch from Aaron
Patterson at [ruby-core:25145].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-26 23:16:40 +00:00
matz
d121a3fb79
* ext/strscan/strscan.c (Init_strscan): remove obsolete
...
matchedsize method, use matched_size instead. [ruby-dev:38591]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-17 04:57:11 +00:00
akr
5757a872c4
* ext/strscan/strscan.c (strscan_do_scan): fix usecnt decrement.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-31 02:43:17 +00:00
matz
6ada14922f
* ext/openssl/ossl_config.c (Init_ossl_config): memory leak fixed.
...
a patch <shinichiro.hamaji at gmail.com> in [ruby-dev:35880].
* ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): ditto.
* ext/strscan/strscan.c (strscan_do_scan): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 06:54:25 +00:00
ko1
72ba13aa8e
* array.c, bignum.c, cont.c, dir.c, dln.c, encoding.c, enumerator.c,
...
enumerator.c (enumerator_allocate), eval_jump.c, file.c, hash.c,
io.c, load.c, pack.c, proc.c, random.c, re.c, ruby.c, st.c,
string.c, thread.c, thread_pthread.c, time.c, util.c, variable.c,
vm.c, gc.c:
allocated memory objects by xmalloc (ruby_xmalloc) should be
freed by xfree (ruby_xfree).
* ext/curses/curses.c, ext/dbm/dbm.c, ext/digest/digest.c,
ext/gdbm/gdbm.c, ext/json/ext/parser/parser.c,
ext/json/ext/parser/unicode.c, ext/openssl/ossl_cipher.c,
ext/openssl/ossl_hmac.c, ext/openssl/ossl_pkey_ec.c,
ext/sdbm/init.c, ext/strscan/strscan.c, ext/zlib/zlib.c:
ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-08 10:01:40 +00:00
mame
0ecd8c8bc2
* ext/strscan/strscan.c (strscan_scan_full, strscan_search_full): fix
...
document.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-03 14:07:50 +00:00
mame
e6c7da504f
* ext/strscan/strscan.c (strscan_exist_p): fix document.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-03 13:37:59 +00:00
matz
ab24f2b077
* re.c (rb_reg_prepare_re): made non static with small refactoring.
...
* ext/strscan/strscan.c (strscan_do_scan): should adjust encoding
before regex searching.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 06:09:53 +00:00
akr
1c0416e6ee
* ext/strscan/strscan.c (str_new): new function for allocate an string
...
with encoding propagation.
(extract_range): use str_new.
(extract_beg_len): ditto.
(strscan_peek): ditto.
(strscan_rest): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-28 14:55:43 +00:00
nobu
7ab48f03e9
* ext/strscan/strscan.c (strscan_initialize, strscan_getch): use the
...
encoding of the target string instead of setting to StringScanner
instance. [ruby-dev:31831]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-24 08:56:24 +00:00
matz
edd7c787ad
* array.c (rb_ary_cycle): typo in rdoc. a patch from Yugui
...
<yugui@yugui.sakura.ne.jp>. [ruby-dev:31748]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-06 12:33:45 +00:00