OSDN Git Service

Add copy constructor for DIFFITEM. And one more fix for assignment operator override...
authorKimmo Varis <kimmov@gmail.com>
Tue, 7 Aug 2007 15:41:08 +0000 (15:41 +0000)
committerKimmo Varis <kimmov@gmail.com>
Tue, 7 Aug 2007 15:41:08 +0000 (15:41 +0000)
Src/DiffItem.cpp
Src/DiffItem.h

index c74b700..1cca1bc 100644 (file)
@@ -17,6 +17,26 @@ static char THIS_FILE[]=__FILE__;
 #endif
 
 /**
+ * @brief Copy constructor.
+ * @param [in] di Object to copy.
+ */
+DIFFITEM::DIFFITEM(const DIFFITEM& di)
+{
+       diffcode = di.diffcode;
+       left = di.left;
+       right = di.right;
+       sLeftFilename = di.sLeftFilename;
+       sRightFilename = di.sRightFilename;
+       sLeftSubdir = di.sLeftSubdir;
+       sRightSubdir = di.sRightSubdir;
+       nsdiffs = di.nsdiffs;
+       nidiffs = di.nidiffs;
+       errorDesc = di.errorDesc;
+       customFlags1 = di.customFlags1;
+       empty = di.empty;
+}
+
+/**
  * @brief Assignment operator override.
  * @param [in] di Object to copy.
  * @return Copy of given object.
@@ -25,6 +45,7 @@ DIFFITEM& DIFFITEM::operator=(const DIFFITEM& di)
 {
        if (this != &di)
        {
+               diffcode = di.diffcode;
                left = di.left;
                right = di.right;
                sLeftFilename = di.sLeftFilename;
index 32eed79..2fa520f 100644 (file)
@@ -135,6 +135,7 @@ struct DIFFITEM : DIFFCODE
        static DIFFITEM MakeEmptyDiffItem();
 
        DIFFITEM() : nidiffs(-1), nsdiffs(-1), customFlags1(0), empty(false) { }
+       DIFFITEM(const DIFFITEM& di);
        DIFFITEM& operator=(const DIFFITEM& di);
 
        CString getLeftFilepath(const CString &sLeftRoot) const;