fix for issue 49 (#79)

Fixes the span for null nodes in block lists.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 258fb62..5b51135 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,7 @@
 ## 2.2.1
 
 * Update min Dart SDK to `2.4.0`.
+* Fixed span for null nodes in block lists.
 
 ## 2.2.0
 
diff --git a/lib/src/parser.dart b/lib/src/parser.dart
index 3eba773..4c8aaaf 100644
--- a/lib/src/parser.dart
+++ b/lib/src/parser.dart
@@ -348,12 +348,13 @@
     var token = _scanner.peek();
 
     if (token.type == TokenType.blockEntry) {
+      var start = token.span.start;
       token = _scanner.advance();
 
       if (token.type == TokenType.blockEntry ||
           token.type == TokenType.blockEnd) {
         _state = _State.BLOCK_SEQUENCE_ENTRY;
-        return _processEmptyScalar(token.span.end);
+        return _processEmptyScalar(start);
       } else {
         _states.add(_State.BLOCK_SEQUENCE_ENTRY);
         return _parseNode(block: true);
diff --git a/pubspec.yaml b/pubspec.yaml
index c0bfd99..0641a2d 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: yaml
-version: 2.2.1-dev
+version: 2.2.1
 
 description: A parser for YAML, a human-friendly data serialization standard
 homepage: https://github.com/dart-lang/yaml
diff --git a/test/span_test.dart b/test/span_test.dart
index 7ef61d3..4017868 100644
--- a/test/span_test.dart
+++ b/test/span_test.dart
@@ -86,4 +86,85 @@
       );
     });
   });
+
+  group('block', () {
+    YamlList list, nestedList;
+
+    setUpAll(() {
+      const yamlStr = '''
+- foo
+- 
+  - one
+  - 
+  - three
+  - 
+  - five
+  -
+- 
+  a : b
+  c : d
+- bar
+''';
+
+      list = loadYaml(yamlStr) as YamlList;
+      nestedList = list.nodes[1] as YamlList;
+    });
+
+    test('root nodes span', () {
+      _expectSpan(list.nodes[0].span, r'''
+line 1, column 3: message
+  ╷
+1 │ - foo
+  │   ^^^
+  ╵''');
+
+      _expectSpan(list.nodes[1].span, r'''
+line 3, column 3: message
+  ╷
+3 │ ┌   - one
+4 │ │   - 
+5 │ │   - three
+6 │ │   - 
+7 │ │   - five
+8 │ └   -
+  ╵''');
+
+      _expectSpan(list.nodes[2].span, r'''
+line 10, column 3: message
+   ╷
+10 │ ┌   a : b
+11 │ └   c : d
+   ╵''');
+
+      _expectSpan(list.nodes[3].span, r'''
+line 12, column 3: message
+   ╷
+12 │ - bar
+   │   ^^^
+   ╵''');
+    });
+
+    test('null nodes span', () {
+      _expectSpan(nestedList.nodes[1].span, r'''
+line 4, column 3: message
+  ╷
+4 │   - 
+  │   ^
+  ╵''');
+
+      _expectSpan(nestedList.nodes[3].span, r'''
+line 6, column 3: message
+  ╷
+6 │   - 
+  │   ^
+  ╵''');
+
+      _expectSpan(nestedList.nodes[5].span, r'''
+line 8, column 3: message
+  ╷
+8 │   -
+  │   ^
+  ╵''');
+    });
+  });
 }