@@ 159,6 159,9 @@ func splitWords(l string) ([]string, error) {
case quote != 0 && ch == quote:
quote = 0
wantWSP = true
+ if sb.Len() == 0 {
+ words = append(words, "")
+ }
case quote == 0 && len(words) == 0 && sb.Len() == 0 && ch == '#':
return nil, nil
case quote == 0 && (ch == '\'' || ch == '"'):
@@ 15,14 15,14 @@ var readTests = []struct {
}{
{
name: "flat",
- src: `dir1 param1 param2 param3
+ src: `dir1 param1 param2 "" param3
dir2
dir3 param1
# comment
dir4 "param 1" 'param 2'`,
want: Block{
- {Name: "dir1", Params: []string{"param1", "param2", "param3"}},
+ {Name: "dir1", Params: []string{"param1", "param2", "", "param3"}},
{Name: "dir2", Params: []string{}},
{Name: "dir3", Params: []string{"param1"}},
{Name: "dir4", Params: []string{"param 1", "param 2"}},