projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Devkit8000: Switch over to enable_gpmc_cs_config
[oweals/u-boot.git]
/
tools
/
mkenvimage.c
diff --git
a/tools/mkenvimage.c
b/tools/mkenvimage.c
index 9c32f4a5725fc8503c42f958f705eb683a3b8bbc..c5ed373b99217cd09b7c84578abae27e4ee09661 100644
(file)
--- a/
tools/mkenvimage.c
+++ b/
tools/mkenvimage.c
@@
-25,6
+25,9
@@
* MA 02111-1307 USA
*/
* MA 02111-1307 USA
*/
+/* We want the GNU version of basename() */
+#define _GNU_SOURCE
+
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
@@
-36,6
+39,7
@@
#include <sys/stat.h>
#include <u-boot/crc.h>
#include <sys/stat.h>
#include <u-boot/crc.h>
+#include <version.h>
#define CRC_SIZE sizeof(uint32_t)
#define CRC_SIZE sizeof(uint32_t)
@@
-56,6
+60,7
@@
static void usage(const char *exec_name)
"\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"
"\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"
+ "\t-V : print version information and exit\n"
"\n"
"If the input file is \"-\", data is read from standard input\n",
exec_name);
"\n"
"If the input file is \"-\", data is read from standard input\n",
exec_name);
@@
-79,9
+84,15
@@
int main(int argc, char **argv)
struct stat txt_file_stat;
int fp, ep;
struct stat txt_file_stat;
int fp, ep;
+ const char *prg;
+
+ prg = basename(argv[0]);
+
+ /* Turn off getopt()'s internal error message */
+ opterr = 0;
/* Parse the cmdline */
/* Parse the cmdline */
- while ((option = getopt(argc, argv, "
s:o:rbp:h
")) != -1) {
+ while ((option = getopt(argc, argv, "
:s:o:rbp:hV
")) != -1) {
switch (option) {
case 's':
datasize = strtol(optarg, NULL, 0);
switch (option) {
case 's':
datasize = strtol(optarg, NULL, 0);
@@
-104,11
+115,19
@@
int main(int argc, char **argv)
padbyte = strtol(optarg, NULL, 0);
break;
case 'h':
padbyte = strtol(optarg, NULL, 0);
break;
case 'h':
- usage(
argv[0]
);
+ usage(
prg
);
return EXIT_SUCCESS;
return EXIT_SUCCESS;
+ case 'V':
+ printf("%s version %s\n", prg, PLAIN_VERSION);
+ return EXIT_SUCCESS;
+ case ':':
+ fprintf(stderr, "Missing argument for option -%c\n",
+ option);
+ usage(argv[0]);
+ return EXIT_FAILURE;
default:
fprintf(stderr, "Wrong option -%c\n", option);
default:
fprintf(stderr, "Wrong option -%c\n", option);
- usage(
argv[0]
);
+ usage(
prg
);
return EXIT_FAILURE;
}
}
return EXIT_FAILURE;
}
}
@@
-116,9
+135,9
@@
int main(int argc, char **argv)
/* Check datasize and allocate the data */
if (datasize == 0) {
fprintf(stderr,
/* Check datasize and allocate the data */
if (datasize == 0) {
fprintf(stderr,
- "Please specify the size of the env
rion
nment "
+ "Please specify the size of the env
iro
nment "
"partition.\n");
"partition.\n");
- usage(
argv[0]
);
+ usage(
prg
);
return EXIT_FAILURE;
}
return EXIT_FAILURE;
}
@@
-182,12
+201,12
@@
int main(int argc, char **argv)
ret = close(txt_fd);
}
/*
ret = close(txt_fd);
}
/*
- * The right test to do is "=>" (not ">") because of the addition
n
al
+ * The right test to do is "=>" (not ">") because of the additional
* ending \0. See below.
*/
if (filesize >= envsize) {
fprintf(stderr, "The input file is larger than the "
* ending \0. See below.
*/
if (filesize >= envsize) {
fprintf(stderr, "The input file is larger than the "
- "env
rion
nment partition size\n");
+ "env
iro
nment partition size\n");
return EXIT_FAILURE;
}
return EXIT_FAILURE;
}
@@
-196,7
+215,7
@@
int main(int argc, char **argv)
if (filebuf[fp] == '\n') {
if (fp == 0) {
/*
if (filebuf[fp] == '\n') {
if (fp == 0) {
/*
- * Newline at the beg
gi
ning of the file ?
+ * Newline at the beg
in
ning of the file ?
* Ignore it.
*/
continue;
* Ignore it.
*/
continue;