exifr 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +3 -0
- data/lib/exceptions.rb +5 -0
- data/lib/exifr.rb +1 -0
- data/lib/jpeg.rb +6 -2
- data/lib/tiff.rb +3 -2
- data/tests/jpeg_test.rb +6 -0
- data/tests/tiff_test.rb +6 -0
- metadata +5 -4
data/CHANGELOG
CHANGED
data/lib/exceptions.rb
ADDED
data/lib/exifr.rb
CHANGED
data/lib/jpeg.rb
CHANGED
@@ -86,14 +86,18 @@ module EXIFR
|
|
86
86
|
end
|
87
87
|
end unless io.respond_to? :readsof
|
88
88
|
|
89
|
-
|
89
|
+
unless io.readbyte == 0xFF && io.readbyte == 0xD8 # SOI
|
90
|
+
raise MalformedJPEG, "no start of image marker found"
|
91
|
+
end
|
90
92
|
|
91
93
|
app1s = []
|
92
94
|
while marker = io.next
|
93
95
|
case marker
|
94
96
|
when 0xC0..0xC3, 0xC5..0xC7, 0xC9..0xCB, 0xCD..0xCF # SOF markers
|
95
97
|
length, @bits, @height, @width, components = io.readsof
|
96
|
-
|
98
|
+
unless length == 8 + components * 3
|
99
|
+
raise MalformedJPEG, "frame length does not match number of components"
|
100
|
+
end
|
97
101
|
when 0xD9, 0xDA; break # EOI, SOS
|
98
102
|
when 0xFE; (@comment ||= []) << io.readframe # COM
|
99
103
|
when 0xE1; app1s << io.readframe # APP1, may contain EXIF tag
|
data/lib/tiff.rb
CHANGED
@@ -511,7 +511,7 @@ module EXIFR
|
|
511
511
|
def sign_byte(n)
|
512
512
|
(n & 0x80) != 0 ? n - 0x100 : n
|
513
513
|
end
|
514
|
-
|
514
|
+
|
515
515
|
def sign_short(n)
|
516
516
|
(n & 0x8000) != 0 ? n - 0x10000 : n
|
517
517
|
end
|
@@ -540,7 +540,8 @@ module EXIFR
|
|
540
540
|
case self[0..1]
|
541
541
|
when 'II'; @short, @long = 'v', 'V'
|
542
542
|
when 'MM'; @short, @long = 'n', 'N'
|
543
|
-
else
|
543
|
+
else
|
544
|
+
raise MalformedTIFF, "no byte order information found"
|
544
545
|
end
|
545
546
|
end
|
546
547
|
|
data/tests/jpeg_test.rb
CHANGED
data/tests/tiff_test.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exifr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 3
|
10
|
+
version: 1.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- R.W. van 't Veer
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-09-10 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|
@@ -34,6 +34,7 @@ files:
|
|
34
34
|
- lib/exifr.rb
|
35
35
|
- lib/jpeg.rb
|
36
36
|
- lib/tiff.rb
|
37
|
+
- lib/exceptions.rb
|
37
38
|
- tests/data/1x1.jpg
|
38
39
|
- tests/data/apple-aperture-1.5.exif
|
39
40
|
- tests/data/canon-g3.exif
|