Properly skip empty lines before the first section, otherwise they will
trigger a syntax error in parsing.
Add a simple test for it, so it doesn't regress.
---
builder/index-parse.y | 8 ++++----
builder/test-virt-index-validate-good-3 | 4 ++++
builder/test-virt-index-validate.sh | 1 +
3 files changed, 9 insertions(+), 4 deletions(-)
create mode 100644 builder/test-virt-index-validate-good-3
diff --git a/builder/index-parse.y b/builder/index-parse.y
index 8ea2d73..82ea9d2 100644
--- a/builder/index-parse.y
+++ b/builder/index-parse.y
@@ -104,10 +104,10 @@ index:
{ context->parsed_index = $2; }
sections:
- section emptylines
- { $$ = $1; }
- | section EMPTY_LINE emptylines sections
- { $$ = $1; $$->next = $4; }
+ emptylines section emptylines
+ { $$ = $2; }
+ | emptylines section EMPTY_LINE emptylines sections
+ { $$ = $2; $$->next = $5; }
| emptylines
{ $$ = NULL; }
diff --git a/builder/test-virt-index-validate-good-3
b/builder/test-virt-index-validate-good-3
new file mode 100644
index 0000000..f10adf0
--- /dev/null
+++ b/builder/test-virt-index-validate-good-3
@@ -0,0 +1,4 @@
+# Empty lines before the first section
+
+[foo]
+key=value
diff --git a/builder/test-virt-index-validate.sh b/builder/test-virt-index-validate.sh
index c66929d..b00a086 100755
--- a/builder/test-virt-index-validate.sh
+++ b/builder/test-virt-index-validate.sh
@@ -22,3 +22,4 @@ set -e
! $VG virt-index-validate test-virt-index-validate-bad-1
$VG virt-index-validate test-virt-index-validate-good-1
$VG virt-index-validate test-virt-index-validate-good-2
+$VG virt-index-validate test-virt-index-validate-good-3
--
2.1.0