Commit f5d772773e588403bea8b5401f5e305b97dea16f
1 parent
27ee889c
make line buffering os-specific
git-svn-id: svn+q:///qpdf/trunk@852 71b93d88-0707-0410-a8cf-f5a4172ac649
Showing
4 changed files
with
14 additions
and
2 deletions
include/qpdf/QUtil.hh
| @@ -52,6 +52,10 @@ namespace QUtil | @@ -52,6 +52,10 @@ namespace QUtil | ||
| 52 | void binary_stdout(); | 52 | void binary_stdout(); |
| 53 | QPDF_DLL | 53 | QPDF_DLL |
| 54 | void binary_stdin(); | 54 | void binary_stdin(); |
| 55 | + // Set stdout to line buffered | ||
| 56 | + QPDF_DLL | ||
| 57 | + void setLineBuf(FILE*); | ||
| 58 | + | ||
| 55 | 59 | ||
| 56 | // May modify argv0 | 60 | // May modify argv0 |
| 57 | QPDF_DLL | 61 | QPDF_DLL |
libqpdf/QUtil.cc
| @@ -127,6 +127,14 @@ QUtil::binary_stdin() | @@ -127,6 +127,14 @@ QUtil::binary_stdin() | ||
| 127 | #endif | 127 | #endif |
| 128 | } | 128 | } |
| 129 | 129 | ||
| 130 | +void | ||
| 131 | +QUtil::setLineBuf(FILE* f) | ||
| 132 | +{ | ||
| 133 | +#ifndef _WIN32 | ||
| 134 | + setvbuf(f, (char *) NULL, _IOLBF, 0); | ||
| 135 | +#endif | ||
| 136 | +} | ||
| 137 | + | ||
| 130 | char* | 138 | char* |
| 131 | QUtil::getWhoami(char* argv0) | 139 | QUtil::getWhoami(char* argv0) |
| 132 | { | 140 | { |
qpdf/qpdf.cc
| @@ -534,7 +534,7 @@ parse_encrypt_options( | @@ -534,7 +534,7 @@ parse_encrypt_options( | ||
| 534 | int main(int argc, char* argv[]) | 534 | int main(int argc, char* argv[]) |
| 535 | { | 535 | { |
| 536 | whoami = QUtil::getWhoami(argv[0]); | 536 | whoami = QUtil::getWhoami(argv[0]); |
| 537 | - setvbuf(stdout, (char *) NULL, _IOLBF, 0); | 537 | + QUtil::setLineBuf(stdout); |
| 538 | 538 | ||
| 539 | // For libtool's sake.... | 539 | // For libtool's sake.... |
| 540 | if (strncmp(whoami, "lt-", 3) == 0) | 540 | if (strncmp(whoami, "lt-", 3) == 0) |
qpdf/test_driver.cc
| @@ -320,7 +320,7 @@ void runtest(int n, char const* filename) | @@ -320,7 +320,7 @@ void runtest(int n, char const* filename) | ||
| 320 | 320 | ||
| 321 | int main(int argc, char* argv[]) | 321 | int main(int argc, char* argv[]) |
| 322 | { | 322 | { |
| 323 | - setvbuf(stdout, (char *) NULL, _IOLBF, 0); | 323 | + QUtil::setLineBuf(stdout); |
| 324 | if ((whoami = strrchr(argv[0], '/')) == NULL) | 324 | if ((whoami = strrchr(argv[0], '/')) == NULL) |
| 325 | { | 325 | { |
| 326 | whoami = argv[0]; | 326 | whoami = argv[0]; |