diff --git a/src/base/system.cpp b/src/base/system.cpp index 3c10a37e8..a65651211 100644 --- a/src/base/system.cpp +++ b/src/base/system.cpp @@ -364,12 +364,12 @@ unsigned io_write(IOHANDLE io, const void *buffer, unsigned size) return fwrite(buffer, 1, size, (FILE *)io); } -unsigned io_write_newline(IOHANDLE io) +bool io_write_newline(IOHANDLE io) { #if defined(CONF_FAMILY_WINDOWS) - return fwrite("\r\n", 1, 2, (FILE *)io); + return io_write(io, "\r\n", 2) == 2; #else - return fwrite("\n", 1, 1, (FILE *)io); + return io_write(io, "\n", 1) == 1; #endif } diff --git a/src/base/system.h b/src/base/system.h index 1a379c957..6ffcb1d6e 100644 --- a/src/base/system.h +++ b/src/base/system.h @@ -296,15 +296,15 @@ unsigned io_skip(IOHANDLE io, int size); unsigned io_write(IOHANDLE io, const void *buffer, unsigned size); /** - * Writes newline to file. + * Writes a platform dependent newline to file. * * @ingroup File-IO * * @param io Handle to the file. * - * @return Number of bytes written. + * @return true on success, false on failure. */ -unsigned io_write_newline(IOHANDLE io); +bool io_write_newline(IOHANDLE io); /** * Seeks to a specified offset in the file. diff --git a/src/engine/shared/config.cpp b/src/engine/shared/config.cpp index 027e79cf4..5f0df84bf 100644 --- a/src/engine/shared/config.cpp +++ b/src/engine/shared/config.cpp @@ -147,12 +147,10 @@ void CConfigManager::WriteLine(const char *pLine) { if(!m_ConfigFile || io_write(m_ConfigFile, pLine, str_length(pLine)) != static_cast(str_length(pLine)) || -#if defined(CONF_FAMILY_WINDOWS) - io_write_newline(m_ConfigFile) != 2) -#else - io_write_newline(m_ConfigFile) != 1) -#endif + !io_write_newline(m_ConfigFile)) + { m_Failed = true; + } } IConfigManager *CreateConfigManager() { return new CConfigManager; }