Commit f5d772773e588403bea8b5401f5e305b97dea16f

Authored by Jay Berkenbilt
1 parent 27ee889c

make line buffering os-specific

git-svn-id: svn+q:///qpdf/trunk@852 71b93d88-0707-0410-a8cf-f5a4172ac649
include/qpdf/QUtil.hh
... ... @@ -52,6 +52,10 @@ namespace QUtil
52 52 void binary_stdout();
53 53 QPDF_DLL
54 54 void binary_stdin();
  55 + // Set stdout to line buffered
  56 + QPDF_DLL
  57 + void setLineBuf(FILE*);
  58 +
55 59  
56 60 // May modify argv0
57 61 QPDF_DLL
... ...
libqpdf/QUtil.cc
... ... @@ -127,6 +127,14 @@ QUtil::binary_stdin()
127 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 138 char*
131 139 QUtil::getWhoami(char* argv0)
132 140 {
... ...
qpdf/qpdf.cc
... ... @@ -534,7 +534,7 @@ parse_encrypt_options(
534 534 int main(int argc, char* argv[])
535 535 {
536 536 whoami = QUtil::getWhoami(argv[0]);
537   - setvbuf(stdout, (char *) NULL, _IOLBF, 0);
  537 + QUtil::setLineBuf(stdout);
538 538  
539 539 // For libtool's sake....
540 540 if (strncmp(whoami, "lt-", 3) == 0)
... ...
qpdf/test_driver.cc
... ... @@ -320,7 +320,7 @@ void runtest(int n, char const* filename)
320 320  
321 321 int main(int argc, char* argv[])
322 322 {
323   - setvbuf(stdout, (char *) NULL, _IOLBF, 0);
  323 + QUtil::setLineBuf(stdout);
324 324 if ((whoami = strrchr(argv[0], '/')) == NULL)
325 325 {
326 326 whoami = argv[0];
... ...