Skip to content

Commit

Permalink
Add -b / --binary option for Windows
Browse files Browse the repository at this point in the history
  • Loading branch information
nicowilliams committed Mar 25, 2019
1 parent 3e0a118 commit 0dab2b1
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
6 changes: 6 additions & 0 deletions docs/content/manual/manual.yml
Expand Up @@ -164,6 +164,12 @@ sections:
Colors can be configured with the `JQ_COLORS` environment
variable (see below).
* `--binary` / `-b`:
Windows users using WSL, MSYS2, or Cygwin, should use this option
when using a native jq.exe, otherwise jq will turn newlines (LFs)
into carriage-return-then-newline (CRLF).
* `--ascii-output` / `-a`:
jq usually outputs non-ASCII Unicode codepoints as UTF-8, even
Expand Down
10 changes: 10 additions & 0 deletions src/main.c
Expand Up @@ -394,6 +394,16 @@ int main(int argc, char* argv[]) {
options |= RAW_OUTPUT | RAW_NO_LF;
if (!short_opts) continue;
}
if (isoption(argv[i], 'b', "binary", &short_opts)) {
#ifdef WIN32
fflush(stdout);
fflush(stderr);
_setmode(fileno(stdin), _O_BINARY);
_setmode(fileno(stdout), _O_BINARY);
_setmode(fileno(stderr), _O_BINARY);
if (!short_opts) continue;
#endif
}
if (isoption(argv[i], 0, "tab", &short_opts)) {
dumpopts &= ~JV_PRINT_INDENT_FLAGS(7);
dumpopts |= JV_PRINT_TAB | JV_PRINT_PRETTY;
Expand Down

0 comments on commit 0dab2b1

Please sign in to comment.