diff --git a/win32/clamav-for-windows/sigui/SigUI/ConfigEditor.cpp b/win32/clamav-for-windows/sigui/SigUI/ConfigEditor.cpp index d045e38c7..f919513b6 100644 --- a/win32/clamav-for-windows/sigui/SigUI/ConfigEditor.cpp +++ b/win32/clamav-for-windows/sigui/SigUI/ConfigEditor.cpp @@ -107,6 +107,8 @@ void ConfigEditor::Add(const wxString& key, const wxString &value, bool comment) if (value.IsEmpty()) return; + + wxString writeLine = key + " " + value; if (comment) { @@ -123,6 +125,11 @@ void ConfigEditor::Add(const wxString& key, const wxString &value, bool comment) if (value.find_first_of(" \t\"") != wxString::npos) writeLine = "\"" + writeLine + "\""; + for (wxString str = file.GetFirstLine(); !file.Eof(); str = file.GetNextLine()) { + if (str.IsSameAs(writeLine)) + return; + } + file.InsertLine(writeLine, lastadd); lastadd++; }