resedit 1.7.2 → 1.7.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f7e16c3699611b9460ed0052a254ef215152d3cf
4
- data.tar.gz: b345f5bdeaae974a6de7668ebf162a30161f3853
3
+ metadata.gz: 77669d3b3c572c15f14392c6bb44ded2e682e993
4
+ data.tar.gz: 600dd6a10b2c2c6c2a051b1e8f1ee3b04afaa651
5
5
  SHA512:
6
- metadata.gz: '08bde765ab8afa2e69ecc4658b3462c6080f1ec6082c1d95107f635e0b21d3630cfd22a391be52f596c88b5bae32d254bdf965d883f69cf3eb70e85c473fe26b'
7
- data.tar.gz: 06f763b0b8f4e019a5e2b465007524d629506de90cfaa4ce67e1521f628b5f84fb4b3fabd254960b1f50a03f7ea9be62b4bb81a80e5425bf539e71cd2a46ad78
6
+ metadata.gz: e98241f942125af594613c729bee32dd5aaeb10eff2a6532dec135c0c052663e3267d9f28d3585cfcc60a84f80fe0c83ad67e0343aee31f89c6e130de5ef4a88
7
+ data.tar.gz: b47a0ed36ab4c03a5ce709ec90aa970f313a5c4c95dc728ee693efb6365c9e70d81233fd600fea07536f5c8cf1c42e0a3600c566f968f7a2092daa3513960482
@@ -19,5 +19,5 @@ require 'resedit/classes/changeable'
19
19
 
20
20
 
21
21
  module Resedit
22
- VERSION = "1.7.2"
22
+ VERSION = "1.7.3"
23
23
  end
@@ -2,6 +2,8 @@ module Resedit
2
2
 
3
3
  class BitStream
4
4
 
5
+ attr_reader :bytes
6
+
5
7
  def initialize(bytes=nil, chunksize=1)
6
8
  @bytes = bytes ? bytes : ''
7
9
  @chunksize = chunksize
@@ -16,6 +18,7 @@ module Resedit
16
18
  def read(bits)
17
19
  while @bsize < bits
18
20
  for _ in 1..@chunksize
21
+ raise "End of stream" if @pos==@bytes.length
19
22
  @buf |= (@pos<@bytes.length ? (@bytes[@pos].ord & 0xFF) : 0) << @bsize
20
23
  @pos += 1
21
24
  @bsize += 8
@@ -28,10 +31,24 @@ module Resedit
28
31
  return ret
29
32
  end
30
33
 
31
- def write(val, bits)
34
+ def write(val, bits=8)
35
+ mask = (1 << bits) - 1
36
+ @buf |= (val & mask) << @bsize
37
+ @bsize += bits
38
+ if @bsize >= @chunksize*8
39
+ for _ in 1..@chunksize
40
+ @bytes += (@buf & 0xFF).chr
41
+ @bsize -= 8
42
+ @buf>>=8
43
+ end
44
+ end
32
45
  end
33
46
 
34
47
  def finish()
48
+ if @bsize!=0
49
+ write(0, @chunksize*8-@bsize)
50
+ end
51
+ return @bytes
35
52
  end
36
53
 
37
54
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resedit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.2
4
+ version: 1.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - bjfn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-19 00:00:00.000000000 Z
11
+ date: 2017-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chunky_png