Support -o -, note what the defaults are
authorH. Peter Anvin <hpa@zytor.com>
Sun, 6 Jan 2008 04:44:04 +0000 (20:44 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Sun, 6 Jan 2008 04:44:04 +0000 (20:44 -0800)
main.c

diff --git a/main.c b/main.c
index b5a9d06..5bf60b3 100644 (file)
--- a/main.c
+++ b/main.c
@@ -50,8 +50,8 @@ static void usage(int err)
           " [-o output_filename] kernel\n"
           "  --params       -p    kernel commandline parameters\n"
           "  --initrd       -i    initrd (multiple initrd options supported)\n"
-          "  --output       -o    output filename\n"
-          "  --elf          -E    output in ELF format\n"
+          "  --output       -o    output filename (default stdout)\n"
+          "  --elf          -E    output in ELF format (default)\n"
           "  --nbi          -N    output in NBI format\n"
           "  --help         -h    display this help text\n"
           ,program);
@@ -83,10 +83,14 @@ int main(int argc, char *argv[])
       irdp = &ip->next;
       break;
     case 'o':
-      out = fopen(optarg, "w");
-      if (!out) {
-       fprintf(stderr, "%s: %s: %s\n", program, optarg, strerror(errno));
-       return EX_CANTCREAT;
+      if (optarg[0] == '-' && !optarg[1]) {
+       out = stdout;
+      } else {
+       out = fopen(optarg, "w");
+       if (!out) {
+         fprintf(stderr, "%s: %s: %s\n", program, optarg, strerror(errno));
+         return EX_CANTCREAT;
+       }
       }
       break;
     case 'E':