X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=output.c;fp=output.c;h=051ec8b73f87dc883a6edc1902b01e4afb7b3ef0;hb=3d1dae3c64a7f0297f7de4d6d9945c2dc88f5c7d;hp=0000000000000000000000000000000000000000;hpb=6bb3c3dd27c0477705a5c0684a8c3fd506a35f48;p=sigrok-cli.git diff --git a/output.c b/output.c new file mode 100644 index 0000000..051ec8b --- /dev/null +++ b/output.c @@ -0,0 +1,41 @@ +/* + * This file is part of the sigrok-cli project. + * + * Copyright (C) 2019 Devan Lai + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include + +#ifdef _WIN32 +#include +#include +#endif + +#include +#include "sigrok-cli.h" + +/* Disable newline translation on stdout when outputting binary data. */ +int setup_binary_stdout(void) +{ +#ifdef _WIN32 + int oldmode = _setmode(_fileno(stdout), _O_BINARY); + if (oldmode == -1) { + g_critical("Failed to set binary stdout mode: errno=%d", errno); + return -1; + } +#endif + return 0; +}