diff options
author | José Bollo <jose.bollo@iot.bzh> | 2017-11-16 11:59:06 +0100 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2017-11-24 17:44:57 +0100 |
commit | 1867d049f8a3b181bb920fef6d904cfa67de06f0 (patch) | |
tree | cce9044e1448ac4dd18d138ebf881491e5b471c6 | |
parent | 88531199d2f46f8758dd1ef3262e567cc849c0b8 (diff) |
afm-udb: add comments
Change-Id: I03d560a8fca3a064fa526afb55c951062fa7a78e
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
-rw-r--r-- | src/afm-udb.c | 6 |
1 files changed, 5 insertions, 1 deletions
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; |