X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a57bfed905e987e07bb9f335729185fc5d8a72fc..b404a8f3b072129c107c6d9a5e0f6f53cd34807b:/src/common/fileconf.cpp diff --git a/src/common/fileconf.cpp b/src/common/fileconf.cpp index 42c8b950ed..33b83d88e7 100644 --- a/src/common/fileconf.cpp +++ b/src/common/fileconf.cpp @@ -146,7 +146,7 @@ private: wxString m_strName, // entry name m_strValue; // value - bool m_bImmutable:1, // can be overriden locally? + bool m_bImmutable:1, // can be overridden locally? m_bHasValue:1; // set after first call to SetValue() int m_nLine; // used if m_pLine == NULL only @@ -469,32 +469,35 @@ wxFileConfig::wxFileConfig(wxInputStream &inStream, const wxMBConv& conv) cbuf = wxCharBuffer::CreateNonOwned((char *)buf.GetData(), buf.GetDataLen()); #endif // wxUSE_UNICODE/!wxUSE_UNICODE - - // now break it into lines - wxMemoryText memText; - for ( const wxChar *s = cbuf; ; ++s ) + // parse the input contents if there is anything to parse + if ( cbuf ) { - const wxChar *e = s; - while ( *e != '\0' && *e != '\n' && *e != '\r' ) - ++e; + // now break it into lines + wxMemoryText memText; + for ( const wxChar *s = cbuf; ; ++s ) + { + const wxChar *e = s; + while ( *e != '\0' && *e != '\n' && *e != '\r' ) + ++e; - // notice that we throw away the original EOL kind here, maybe we - // should preserve it? - if ( e != s ) - memText.AddLine(wxString(s, e)); + // notice that we throw away the original EOL kind here, maybe we + // should preserve it? + if ( e != s ) + memText.AddLine(wxString(s, e)); - if ( *e == '\0' ) - break; + if ( *e == '\0' ) + break; - // skip the second EOL byte if it's a DOS one - if ( *e == '\r' && e[1] == '\n' ) - ++e; + // skip the second EOL byte if it's a DOS one + if ( *e == '\r' && e[1] == '\n' ) + ++e; - s = e; - } + s = e; + } - // Finally we can parse it all. - Parse(memText, true /* local */); + // Finally we can parse it all. + Parse(memText, true /* local */); + } SetRootPath(); ResetDirty(); @@ -658,7 +661,7 @@ void wxFileConfig::Parse(const wxTextBuffer& buffer, bool bLocal) // which is exactly what we want. else if ( !bLocal || pEntry->IsLocal() ) { wxLogWarning(_("file '%s', line %d: key '%s' was first found at line %d."), - buffer.GetName(), n + 1, strKey.c_str(), pEntry->Line()); + buffer.GetName(), (int)n + 1, strKey.c_str(), pEntry->Line()); } }