diff options
author | Dominik Muth <dominik.muth@bkvibro.com> | 2014-08-28 12:25:27 +0200 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-11-10 16:25:28 -0500 |
commit | e72be8947e129f5ab274c0a9f235d2cc0014b2ea (patch) | |
tree | 5829a967e99b8b0a2b5c7cb8f62fe602d1d1fb4d | |
parent | e183de0d3efccd77b4a7b9d1395a9f29bba68e26 (diff) |
Added support for comments in input to mkenvimage.
This patch adds support for comments in the input to mkenvimage, i.e. in
the environment source: All lines starting with a # in the firs column
will be ignored.
Additionally empty lines will also be ignored.
Signed-off-by: Dominik Muth <dominik.muth@bkvibro.com>
-rw-r--r-- | tools/mkenvimage.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/tools/mkenvimage.c b/tools/mkenvimage.c index bbd3041e36..6971b91314 100644 --- a/tools/mkenvimage.c +++ b/tools/mkenvimage.c @@ -37,6 +37,8 @@ static void usage(const char *exec_name) "\t\tkey1=value1\n" "\t\tkey2=value2\n" "\t\t...\n" + "\tEmpty lines are skipped, and lines with a # in the first\n" + "\tcolumn are treated as comments (also skipped).\n" "\t-r : the environment has multiple copies in flash\n" "\t-b : the target is big endian (default is little endian)\n" "\t-p <byte> : fill the image with <byte> bytes instead of 0xff bytes\n" @@ -221,10 +223,9 @@ int main(int argc, char **argv) /* Replace newlines separating variables with \0 */ for (fp = 0, ep = 0 ; fp < filesize ; fp++) { if (filebuf[fp] == '\n') { - if (ep == 0) { + if (fp == 0 || filebuf[fp-1] == '\n') { /* - * Newlines at the beginning of the file ? - * Ignore them. + * Skip empty lines. */ continue; } else if (filebuf[fp-1] == '\\') { @@ -240,6 +241,10 @@ int main(int argc, char **argv) /* End of a variable */ envptr[ep++] = '\0'; } + } else if ((fp == 0 || filebuf[fp-1] == '\n') && filebuf[fp] == '#') { + /* Comment, skip the line. */ + while (++fp < filesize && filebuf[fp] != '\n') + continue; } else { envptr[ep++] = filebuf[fp]; } |