summaryrefslogtreecommitdiff
path: root/tools/mkenvimage.c
diff options
context:
space:
mode:
authorDominik Muth <dominik.muth@bkvibro.com>2014-08-28 12:25:27 +0200
committerTom Rini <trini@ti.com>2014-11-10 16:25:28 -0500
commite72be8947e129f5ab274c0a9f235d2cc0014b2ea (patch)
tree5829a967e99b8b0a2b5c7cb8f62fe602d1d1fb4d /tools/mkenvimage.c
parente183de0d3efccd77b4a7b9d1395a9f29bba68e26 (diff)
downloadu-boot-imx-e72be8947e129f5ab274c0a9f235d2cc0014b2ea.zip
u-boot-imx-e72be8947e129f5ab274c0a9f235d2cc0014b2ea.tar.gz
u-boot-imx-e72be8947e129f5ab274c0a9f235d2cc0014b2ea.tar.bz2
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>
Diffstat (limited to 'tools/mkenvimage.c')
-rw-r--r--tools/mkenvimage.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/tools/mkenvimage.c b/tools/mkenvimage.c
index bbd3041..6971b91 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];
}