X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=tabix.git;a=blobdiff_plain;f=bgzip.c;h=ebcafa20651fd2b3a9863bfe38dc590497099671;hp=d144632c64a1f7b8f7ce2d060c49a680e50f7915;hb=3be5ff47495762af7f2ebec145bc8f9c7674593d;hpb=f14cecb6523bd4275c2858c2d54167c94db25ede diff --git a/bgzip.c b/bgzip.c index d144632..ebcafa2 100644 --- a/bgzip.c +++ b/bgzip.c @@ -138,7 +138,7 @@ int main(int argc, char **argv) if (bgzf_write(fp, buffer, c) < 0) fail(fp); // f_dst will be closed here if (bgzf_close(fp) < 0) fail(fp); - if (argc > optind) unlink(argv[optind]); + if (argc > optind && !pstdout) unlink(argv[optind]); free(buffer); close(f_src); return 0; @@ -166,10 +166,15 @@ int main(int argc, char **argv) return 1; } - name = strdup(argv[optind]); - name[strlen(name) - 3] = '\0'; - f_dst = write_open(name, is_forced); - free(name); + if (pstdout) { + f_dst = fileno(stdout); + } + else { + name = strdup(argv[optind]); + name[strlen(name) - 3] = '\0'; + f_dst = write_open(name, is_forced); + free(name); + } } else if (!pstdout && isatty(fileno((FILE *)stdin)) ) return bgzip_main_usage();