fix vty regression: empty parent node

The recent exit-by-indent patch breaks a VTY case where a node is entered but
directly followed by a sibling or ancestor without listing any child nodes.
Regression introduced by I24cbb3f6de111f2d31110c3c484c066f1153aac9.

An example is a common usage in osmo-bts, where 'phy N' / 'instance N' is a
parent node that is commonly left empty:

	phy 0
	 instance 0
	bts 0
	 band 1800

Before this patch, this case produces the error:

	There is no such command.
	Error occurred during reading the below line:
	bts 0

Fix indentation parsing logic in command.c to accomodate this case.

Add a unit test for empty parent node.

Change-Id: Ia0880a17ae55accb092ae8585cc3a1bec9986891
diff --git a/tests/vty/ok_empty_parent.cfg b/tests/vty/ok_empty_parent.cfg
new file mode 100644
index 0000000..fe04fcf
--- /dev/null
+++ b/tests/vty/ok_empty_parent.cfg
@@ -0,0 +1,2 @@
+line vty
+log stderr
diff --git a/tests/vty/vty_test.c b/tests/vty/vty_test.c
index eba9995..d9af6ae 100644
--- a/tests/vty/vty_test.c
+++ b/tests/vty/vty_test.c
@@ -342,6 +342,7 @@
 	test_exit_by_indent("fail_too_much_indent.cfg", -EINVAL);
 	test_exit_by_indent("fail_tabs_and_spaces.cfg", -EINVAL);
 	test_exit_by_indent("ok_indented_root.cfg", 0);
+	test_exit_by_indent("ok_empty_parent.cfg", 0);
 
 	/* Leak check */
 	OSMO_ASSERT(talloc_total_blocks(stats_ctx) == 1);
diff --git a/tests/vty/vty_test.ok b/tests/vty/vty_test.ok
index b2df1a1..f9fea34 100644
--- a/tests/vty/vty_test.ok
+++ b/tests/vty/vty_test.ok
@@ -128,4 +128,6 @@
 got rc=-22
 reading file ok_indented_root.cfg, expecting rc=0
 got rc=0
+reading file ok_empty_parent.cfg, expecting rc=0
+got rc=0
 All tests passed