cddl 0.9.1 → 0.9.2

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/cddl.gemspec +1 -1
  3. data/data/cddl.abnf +1 -1
  4. data/lib/cddl.rb +9 -8
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1c5fe473658f795abcc5e1599dd18ea3e62525c2f595a8e6c36d4fc9fa7654e8
4
- data.tar.gz: 1d3789efc876946703170afb3aca08e458ad19c18ef8c8a5477852ab02fcc78d
3
+ metadata.gz: d0421b3c93de64adf3d90584becbfa60257bb370e3db6e565a1843125e4832f9
4
+ data.tar.gz: 2a9d2a7bd2cfe35ce4a7417118310c041c6181c3ad5a3da453e4f1e9930e572b
5
5
  SHA512:
6
- metadata.gz: f108776ab78dd95aa075e3450bcf121c8374508cbe9df27a539090af5faa4f9e70d378b39318bdd0b47ef97b29228ec4796e32b0229084942ee7106cdcb567c4
7
- data.tar.gz: b642fe30b4c4aef6ee12fc42a7f1caab6b94ef3797789c5d7b8f190b447fdc4133669ddfa9ba923b91ce31760cfb41da6859b1e1c2d0d5b976f8133c2e742dc9
6
+ metadata.gz: b4296b97de561560d8464e3b96881f6574da70c8c10fba257feef0e0f6486a53b6edf0951e0deec74c5245e2e78a3dd0db83df16a7e45b62f94f3ed3817e1884
7
+ data.tar.gz: d0b2bcc1b06c5f06128696690704d1baff8cbd566c2a80fd172ef19b92ffb007ab70d430221fc989fefa658c6878d331f12c7532e7747241e806ecd670a176ff
data/cddl.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'cddl'
3
- s.version = '0.9.1'
3
+ s.version = '0.9.2'
4
4
  s.summary = "CDDL generator and validator."
5
5
  s.description = %{A parser, generator, and validator for CDDL}
6
6
  s.add_dependency('cbor-diag')
data/data/cddl.abnf CHANGED
@@ -71,7 +71,7 @@ SCHAR = %x20-21 / %x23-7E / SESC
71
71
  SESC = "\" %x20-7E
72
72
 
73
73
  bytes = [bsqual] %x27 *BCHAR %x27
74
- BCHAR = %x20-26 / %x28-7E / SESC / CRLF
74
+ BCHAR = %x20-26 / %x28-5B / %x5D-7E / SESC / CRLF
75
75
  bsqual = %x68 ; "h"
76
76
  / %x62.36.34 ; "b64"
77
77
 
data/lib/cddl.rb CHANGED
@@ -1119,20 +1119,21 @@ module CDDL
1119
1119
  # warn n
1120
1120
  s = n.to_s
1121
1121
  if s[-1] == "'"
1122
- parts = s.split("'", 3)
1123
- if parts[2] != "" || parts[1] =~ /\\/
1124
- warn "*** Can't handle backslashes in #{s.inspect} yet"
1122
+ bsqual, *parts = s.split("'", -1)
1123
+ if parts[-1] != ""
1124
+ warn "*** Problem decoding byte string #{s.inspect}"
1125
1125
  end
1126
+ bsval = parts[0...-1].join("'").gsub(/\\(.)/){$1}
1126
1127
  [:bytes,
1127
- case parts[0]
1128
+ case bsqual
1128
1129
  when ""
1129
- parts[1].b
1130
+ bsval.b
1130
1131
  when "h"
1131
- parts[1].gsub(/\s/, "").chars.each_slice(2).map{ |x| Integer(x.join, 16).chr("BINARY") }.join.b
1132
+ bsval.gsub(/\s/, "").chars.each_slice(2).map{ |x| Integer(x.join, 16).chr("BINARY") }.join.b
1132
1133
  when "b64"
1133
- Base64.urlsafe_decode64(parts[1])
1134
+ Base64.urlsafe_decode64(bsval)
1134
1135
  else
1135
- warn "*** Can't handle byte string type #{parts[0].inspect} yet"
1136
+ warn "*** Can't handle byte string type #{bsqual.inspect} yet"
1136
1137
  end
1137
1138
  ]
1138
1139
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cddl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-05 00:00:00.000000000 Z
11
+ date: 2022-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cbor-diag