浏览代码

Print program basename instead of whole path in usage()

Signed-off-by: Horst Kronstorfer <hkronsto@frequentis.com>
Horst Kronstorfer 12 年之前
父节点
当前提交
af44f4b2a5
共有 1 个文件被更改,包括 9 次插入3 次删除
  1. 9 3
      tools/mkenvimage.c

+ 9 - 3
tools/mkenvimage.c

@@ -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>
@@ -79,6 +82,9 @@ int main(int argc, char **argv)
 	struct stat txt_file_stat;
 
 	int fp, ep;
+	const char *prg;
+
+	prg = basename(argv[0]);
 
 	/* Parse the cmdline */
 	while ((option = getopt(argc, argv, "s:o:rbp:h")) != -1) {
@@ -104,11 +110,11 @@ int main(int argc, char **argv)
 			padbyte = strtol(optarg, NULL, 0);
 			break;
 		case 'h':
-			usage(argv[0]);
+			usage(prg);
 			return EXIT_SUCCESS;
 		default:
 			fprintf(stderr, "Wrong option -%c\n", option);
-			usage(argv[0]);
+			usage(prg);
 			return EXIT_FAILURE;
 		}
 	}
@@ -118,7 +124,7 @@ int main(int argc, char **argv)
 		fprintf(stderr,
 			"Please specify the size of the envrionnment "
 			"partition.\n");
-		usage(argv[0]);
+		usage(prg);
 		return EXIT_FAILURE;
 	}