summaryrefslogtreecommitdiffstats
path: root/tools/lib/h5diff_util.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lib/h5diff_util.c')
-rw-r--r--tools/lib/h5diff_util.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/tools/lib/h5diff_util.c b/tools/lib/h5diff_util.c
index c55028c..818a933 100644
--- a/tools/lib/h5diff_util.c
+++ b/tools/lib/h5diff_util.c
@@ -49,17 +49,20 @@ void parallel_print(const char* format, ...)
if(overflow_file == NULL) /*no overflow has occurred yet */
{
bytes_written = HDvsnprintf(outBuff+outBuffOffset, OUTBUFF_SIZE-outBuffOffset, format, ap);
-
- va_end(ap);
+
+ va_end(ap);
va_start(ap, format);
- if(bytes_written >= (OUTBUFF_SIZE-outBuffOffset))
+#ifdef VSNPRINTF_WORKS
+ if(bytes_written >= (OUTBUFF_SIZE-outBuffOffset))
+#else
+ if((bytes_written+1) == (OUTBUFF_SIZE-outBuffOffset))
+#endif
{
/* Delete the characters that were written to outBuff since they will be written to the overflow_file */
- memset(outBuff+outBuffOffset, 0, OUTBUFF_SIZE - outBuffOffset);
-
+ memset(outBuff+outBuffOffset, 0, OUTBUFF_SIZE - outBuffOffset);
+
overflow_file = tmpfile();
-
if(overflow_file == NULL)
printf("Warning: Could not create overflow file. Output may be truncated.\n");
else
@@ -71,7 +74,6 @@ void parallel_print(const char* format, ...)
else
bytes_written = HDvfprintf(overflow_file, format, ap);
-
}
va_end(ap);
}