diff --git a/dtool/src/dtoolutil/pandaFileStreamBuf.cxx b/dtool/src/dtoolutil/pandaFileStreamBuf.cxx index 52bb00b543..1d6f9586aa 100644 --- a/dtool/src/dtoolutil/pandaFileStreamBuf.cxx +++ b/dtool/src/dtoolutil/pandaFileStreamBuf.cxx @@ -518,7 +518,13 @@ write_chars(const char *start, size_t length) { char *buffer = (char *)alloca(buffer_length); size_t write_length = encode_newlines(buffer, buffer_length, start, length); - return write_chars_raw(buffer, write_length); + if (write_length == write_chars_raw(buffer, write_length)) { + // Success. Return the number of original characters. + return length; + } + + // Error. Pretend we wrote nothing. + return 0; } ////////////////////////////////////////////////////////////////////