]> git.sur5r.net Git - u-boot/blobdiff - tools/mkenvimage.c
sandbox: config: enable fdt and snprintf() options
[u-boot] / tools / mkenvimage.c
index 753d9e6ddf344835f02c2a835dad1464ee3a47df..f78173163f815d4ff5f7f34e708d254059293e77 100644 (file)
@@ -25,6 +25,9 @@
  * MA 02111-1307 USA
  */
 
+/* We want the GNU version of basename() */
+#define _GNU_SOURCE
+
 #include <errno.h>
 #include <fcntl.h>
 #include <stdio.h>
@@ -81,6 +84,9 @@ int main(int argc, char **argv)
        struct stat txt_file_stat;
 
        int fp, ep;
+       const char *prg;
+
+       prg = basename(argv[0]);
 
        /* Turn off getopt()'s internal error message */
        opterr = 0;
@@ -109,7 +115,7 @@ int main(int argc, char **argv)
                        padbyte = strtol(optarg, NULL, 0);
                        break;
                case 'h':
-                       usage(argv[0]);
+                       usage(prg);
                        return EXIT_SUCCESS;
                case 'V':
                        printf("%s version %s\n", prg, PLAIN_VERSION);
@@ -121,7 +127,7 @@ int main(int argc, char **argv)
                        return EXIT_FAILURE;
                default:
                        fprintf(stderr, "Wrong option -%c\n", optopt);
-                       usage(argv[0]);
+                       usage(prg);
                        return EXIT_FAILURE;
                }
        }
@@ -131,7 +137,7 @@ int main(int argc, char **argv)
                fprintf(stderr,
                        "Please specify the size of the environment "
                        "partition.\n");
-               usage(argv[0]);
+               usage(prg);
                return EXIT_FAILURE;
        }
 
@@ -207,18 +213,18 @@ 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 (fp == 0) {
+                       if (ep == 0) {
                                /*
-                                * Newline at the beginning of the file ?
-                                * Ignore it.
+                                * Newlines at the beginning of the file ?
+                                * Ignore them.
                                 */
                                continue;
                        } else if (filebuf[fp-1] == '\\') {
                                /*
                                 * Embedded newline in a variable.
                                 *
-                                * The backslash was added to the envptr ;
-                                * rewind and replace it with a newline
+                                * The backslash was added to the envptr; rewind
+                                * and replace it with a newline
                                 */
                                ep--;
                                envptr[ep++] = '\n';