zscan 0.2 → 0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/ext/zscan.c +4 -0
  3. data/lib/zscan.rb +7 -1
  4. data/zscan.gemspec +1 -1
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 009307140540b30af03fa7d83fc942d4a9aa920a
4
- data.tar.gz: 414f4fd5ee5b063da7cdb3ad5eb10d21a2b5dcbc
3
+ metadata.gz: 4ea1628b5cfb954748386729a21dffe6c6d6d25b
4
+ data.tar.gz: 915abaa26d3e019bb92aa83df60401d7588feead
5
5
  SHA512:
6
- metadata.gz: 34d0f608b91d1f2269bc043b57e9969dd5f40dcc3b6ce332fbb2de1131217f1c9bc97e042c6f0f3103996e14eaa7b7b2dfa4e43e27f795ecde0f273590dd2374
7
- data.tar.gz: a8f5a611bd5d6cec996fc5d8f956eda707f6c185204dadf918160faf4db620fec786edd8aec0e981e839483eeeaa41b6ff4cda3965e2c7db37a34b440d29be67
6
+ metadata.gz: 6019ff48939fd372026edf8658f4dbf0c39b29f412e9be211b25134169b01bdc30530057f64481189177b62e1f02bfee6ee8f1983b9fb155b9140cc48ce70d46
7
+ data.tar.gz: 616662d24c577dadd4b6e6dc3b9e2af1b174ffcc526c336a45b8c96fcfd9682e2c30b590a88426f52eb2c410ab97a45162b13b3256b2258f69f64bc476d8bf44
data/ext/zscan.c CHANGED
@@ -111,6 +111,10 @@ static VALUE zscan_bytepos_eq(VALUE self, VALUE v_bytepos) {
111
111
  size_t bytepos = NUM2ULONG(v_bytepos);
112
112
  size_t from, to;
113
113
 
114
+ if (bytepos > (size_t)RSTRING_LEN(p->s)) {
115
+ bytepos = RSTRING_LEN(p->s);
116
+ }
117
+
114
118
  if (bytepos > p->bytepos) {
115
119
  from = p->bytepos;
116
120
  to = bytepos;
data/lib/zscan.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require_relative "../ext/zscan"
2
2
 
3
3
  class ZScan
4
- VERSION = '0.1'
4
+ VERSION = '0.3'
5
5
 
6
6
  def initialize s, dup=false
7
7
  _internal_init dup ? s.dup : s
@@ -58,5 +58,11 @@ if __FILE__ == $PROGRAM_NAME
58
58
  z.bytepos = 2
59
59
  assert '你', z.scan('你')
60
60
  assert '好', z.rest
61
+ z.bytepos = 20
62
+ assert 8, z.bytepos
63
+ assert 4, z.pos
64
+ z.skip('ab')
65
+ assert 8, z.bytepos
66
+ assert 4, z.pos
61
67
  z = nil
62
68
  end
data/zscan.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "zscan"
3
- s.version = "0.2"
3
+ s.version = "0.3"
4
4
  s.author = "Zete Lui"
5
5
  s.homepage = "https://github.com/luikore/zscan"
6
6
  s.platform = Gem::Platform::RUBY
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zscan
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: '0.3'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zete Lui