From: Dominik Muth <dominik.muth@bkvibro.com>
Date: Thu, 28 Aug 2014 10:25:27 +0000 (+0200)
Subject: Added support for comments in input to mkenvimage.
X-Git-Tag: v2025.01-rc5-pxa1908~14329
X-Git-Url: http://git.dujemihanovic.xyz/%22http:/kyber.dk/phpMyBuilder/static/%7B%7B%20.RelPermalink%20%7D%7D?a=commitdiff_plain;h=e72be8947e129f5ab274c0a9f235d2cc0014b2ea;p=u-boot.git

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>
---

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];
 		}