From 1867d049f8a3b181bb920fef6d904cfa67de06f0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Bollo?= Date: Thu, 16 Nov 2017 11:59:06 +0100 Subject: [PATCH] afm-udb: add comments MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change-Id: I03d560a8fca3a064fa526afb55c951062fa7a78e Signed-off-by: José Bollo --- src/afm-udb.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/afm-udb.c b/src/afm-udb.c index 24c188f..718aa5c 100644 --- a/src/afm-udb.c +++ b/src/afm-udb.c @@ -280,7 +280,7 @@ static int read_unit_file(const char *path, char **content, size_t *length) /* read the file */ rc = getfile(path, content, length); if (rc >= 0) { - /* removes any comment and join lines */ + /* removes any comment and join continued lines */ st = 0; read = write = *content; for (;;) { @@ -289,6 +289,7 @@ static int read_unit_file(const char *path, char **content, size_t *length) break; switch (st) { case 0: + /* state 0: begin of a line */ if (c == ';' || c == '#') { st = 3; /* removes lines starting with ; or # */ break; @@ -299,6 +300,7 @@ enter_state_1: st = 1; /*@fallthrough@*/ case 1: + /* state 1: emitting a normal line */ if (c == '\\') st = 2; else { @@ -308,12 +310,14 @@ enter_state_1: } break; case 2: + /* state 2: character after '\' */ if (c == '\n') c = ' '; else *write++ = '\\'; goto enter_state_1; case 3: + /* state 3: inside a comment, wait its end */ if (c == '\n') st = 0; break; -- 2.16.6