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,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];