Index: src/libchcore/TFileFilter.cpp =================================================================== diff -u -N -r213cc1a2b3530ea7cb31fd0dac258df23bcc3416 -ra3d1e4c03280ece94af75d9aef32a65266cf8050 --- src/libchcore/TFileFilter.cpp (.../TFileFilter.cpp) (revision 213cc1a2b3530ea7cb31fd0dac258df23bcc3416) +++ src/libchcore/TFileFilter.cpp (.../TFileFilter.cpp) (revision a3d1e4c03280ece94af75d9aef32a65266cf8050) @@ -570,70 +570,68 @@ void TFileFilter::Store(const ISerializerContainerPtr& spContainer) const { - ISerializerRowDataPtr spRow; - bool bAdded = m_setModifications[eMod_Added]; if(m_setModifications.any()) - spRow = spContainer->GetRow(m_stObjectID, bAdded); - else - return; + { + ISerializerRowData& rRow = spContainer->GetRow(m_stObjectID, bAdded); - if(bAdded || m_setModifications[eMod_UseMask]) - *spRow % TRowData(_T("use_mask"), m_bUseMask); - if(bAdded || m_setModifications[eMod_Mask]) - *spRow % TRowData(_T("mask"), GetCombinedMask()); - if(bAdded || m_setModifications[eMod_UseExcludeMask]) - *spRow % TRowData(_T("use_exclude_mask"), m_bUseExcludeMask); - if(bAdded || m_setModifications[eMod_ExcludeMask]) - *spRow % TRowData(_T("exclude_mask"), GetCombinedExcludeMask()); - if(bAdded || m_setModifications[eMod_UseSize1]) - *spRow % TRowData(_T("use_size_1"), m_bUseSize1); - if(bAdded || m_setModifications[eMod_SizeCmpType1]) - *spRow % TRowData(_T("compare_type_1"), m_eSizeCmpType1); - if(bAdded || m_setModifications[eMod_Size1]) - *spRow % TRowData(_T("size_1"), m_ullSize1); - if(bAdded || m_setModifications[eMod_UseSize2]) - *spRow % TRowData(_T("use_size_2"), m_bUseSize2); - if(bAdded || m_setModifications[eMod_SizeCmpType2]) - *spRow % TRowData(_T("compare_type_2"), m_eSizeCmpType2); - if(bAdded || m_setModifications[eMod_Size2]) - *spRow % TRowData(_T("size_2"), m_ullSize2); - if(bAdded || m_setModifications[eMod_DateType]) - *spRow % TRowData(_T("date_type"), m_eDateType); - if(bAdded || m_setModifications[eMod_UseDateTime1]) - *spRow % TRowData(_T("use_date_time_1"), m_bUseDateTime1); - if(bAdded || m_setModifications[eMod_DateCmpType1]) - *spRow % TRowData(_T("date_compare_type_1"), m_eDateCmpType1); - if(bAdded || m_setModifications[eMod_UseDate1]) - *spRow % TRowData(_T("use_date_1"), m_bUseDate1); - if(bAdded || m_setModifications[eMod_UseTime1]) - *spRow % TRowData(_T("use_time_1"), m_bUseTime1); - if(bAdded || m_setModifications[eMod_DateTime1]) - *spRow % TRowData(_T("datetime_1"), m_tDateTime1.Get().GetAsTimeT()); - if(bAdded || m_setModifications[eMod_UseDateTime2]) - *spRow % TRowData(_T("use_date_time_2"), m_bUseDateTime2); - if(bAdded || m_setModifications[eMod_DateCmpType2]) - *spRow % TRowData(_T("date_compare_type_2"), m_eDateCmpType2); - if(bAdded || m_setModifications[eMod_UseDate2]) - *spRow % TRowData(_T("use_date_2"), m_bUseDate2); - if(bAdded || m_setModifications[eMod_UseTime2]) - *spRow % TRowData(_T("use_time_2"), m_bUseTime2); - if(bAdded || m_setModifications[eMod_DateTime2]) - *spRow % TRowData(_T("datetime_2"), m_tDateTime2.Get().GetAsTimeT()); - if(bAdded || m_setModifications[eMod_UseAttributes]) - *spRow % TRowData(_T("use_attributes"), m_bUseAttributes); - if(bAdded || m_setModifications[eMod_AttrArchive]) - *spRow % TRowData(_T("attr_archive"), m_iArchive); - if(bAdded || m_setModifications[eMod_AttrReadOnly]) - *spRow % TRowData(_T("attr_ro"), m_iReadOnly); - if(bAdded || m_setModifications[eMod_AttrHidden]) - *spRow % TRowData(_T("attr_hidden"), m_iHidden); - if(bAdded || m_setModifications[eMod_AttrSystem]) - *spRow % TRowData(_T("attr_system"), m_iSystem); - if(bAdded || m_setModifications[eMod_AttrDirectory]) - *spRow % TRowData(_T("attr_directory"), m_iDirectory); + if(bAdded || m_setModifications[eMod_UseMask]) + rRow.SetValue(_T("use_mask"), m_bUseMask); + if(bAdded || m_setModifications[eMod_Mask]) + rRow.SetValue(_T("mask"), GetCombinedMask()); + if(bAdded || m_setModifications[eMod_UseExcludeMask]) + rRow.SetValue(_T("use_exclude_mask"), m_bUseExcludeMask); + if(bAdded || m_setModifications[eMod_ExcludeMask]) + rRow.SetValue(_T("exclude_mask"), GetCombinedExcludeMask()); + if(bAdded || m_setModifications[eMod_UseSize1]) + rRow.SetValue(_T("use_size_1"), m_bUseSize1); + if(bAdded || m_setModifications[eMod_SizeCmpType1]) + rRow.SetValue(_T("compare_type_1"), m_eSizeCmpType1); + if(bAdded || m_setModifications[eMod_Size1]) + rRow.SetValue(_T("size_1"), m_ullSize1); + if(bAdded || m_setModifications[eMod_UseSize2]) + rRow.SetValue(_T("use_size_2"), m_bUseSize2); + if(bAdded || m_setModifications[eMod_SizeCmpType2]) + rRow.SetValue(_T("compare_type_2"), m_eSizeCmpType2); + if(bAdded || m_setModifications[eMod_Size2]) + rRow.SetValue(_T("size_2"), m_ullSize2); + if(bAdded || m_setModifications[eMod_DateType]) + rRow.SetValue(_T("date_type"), m_eDateType); + if(bAdded || m_setModifications[eMod_UseDateTime1]) + rRow.SetValue(_T("use_date_time_1"), m_bUseDateTime1); + if(bAdded || m_setModifications[eMod_DateCmpType1]) + rRow.SetValue(_T("date_compare_type_1"), m_eDateCmpType1); + if(bAdded || m_setModifications[eMod_UseDate1]) + rRow.SetValue(_T("use_date_1"), m_bUseDate1); + if(bAdded || m_setModifications[eMod_UseTime1]) + rRow.SetValue(_T("use_time_1"), m_bUseTime1); + if(bAdded || m_setModifications[eMod_DateTime1]) + rRow.SetValue(_T("datetime_1"), m_tDateTime1.Get().GetAsTimeT()); + if(bAdded || m_setModifications[eMod_UseDateTime2]) + rRow.SetValue(_T("use_date_time_2"), m_bUseDateTime2); + if(bAdded || m_setModifications[eMod_DateCmpType2]) + rRow.SetValue(_T("date_compare_type_2"), m_eDateCmpType2); + if(bAdded || m_setModifications[eMod_UseDate2]) + rRow.SetValue(_T("use_date_2"), m_bUseDate2); + if(bAdded || m_setModifications[eMod_UseTime2]) + rRow.SetValue(_T("use_time_2"), m_bUseTime2); + if(bAdded || m_setModifications[eMod_DateTime2]) + rRow.SetValue(_T("datetime_2"), m_tDateTime2.Get().GetAsTimeT()); + if(bAdded || m_setModifications[eMod_UseAttributes]) + rRow.SetValue(_T("use_attributes"), m_bUseAttributes); + if(bAdded || m_setModifications[eMod_AttrArchive]) + rRow.SetValue(_T("attr_archive"), m_iArchive); + if(bAdded || m_setModifications[eMod_AttrReadOnly]) + rRow.SetValue(_T("attr_ro"), m_iReadOnly); + if(bAdded || m_setModifications[eMod_AttrHidden]) + rRow.SetValue(_T("attr_hidden"), m_iHidden); + if(bAdded || m_setModifications[eMod_AttrSystem]) + rRow.SetValue(_T("attr_system"), m_iSystem); + if(bAdded || m_setModifications[eMod_AttrDirectory]) + rRow.SetValue(_T("attr_directory"), m_iDirectory); - m_setModifications.reset(); + m_setModifications.reset(); + } } void TFileFilter::Load(const ISerializerRowReaderPtr& spRowReader)