]> git.saurik.com Git - apple/security.git/blobdiff - cdsa/cdsa_utilities/cssmdata.cpp
Security-177.tar.gz
[apple/security.git] / cdsa / cdsa_utilities / cssmdata.cpp
index 3cd9548a16e5a6b209a34eae0507e2b35489cf41..226113f46e4ed4991cd8574473eda3aaae828afd 100644 (file)
 //
 // cssmdata.cpp -- Manager different CssmData types
 //
 //
 // cssmdata.cpp -- Manager different CssmData types
 //
-#ifdef __MWERKS__
-#define _CPP_CDSA_UTILITIES_CSSMDATA
-#endif
 #include <Security/cssmdata.h>
 #include <Security/cssmdata.h>
-
 #include <Security/utilities.h>
 #include <Security/utilities.h>
+#include <cstring>
+
+
+namespace Security {
+
+
+//
+// Comparing raw CSSM_DATA things
+//
+bool operator == (const CSSM_DATA &d1, const CSSM_DATA &d2)
+{
+    if (&d1 == &d2)
+        return true;   // identical
+    if (d1.Length != d2.Length)
+        return false;  // can't be
+    if (d1.Data == d2.Data)
+        return true;   // points to same data
+    return !memcmp(d1.Data, d2.Data, d1.Length);
+}
 
 
 //
 
 
 //
@@ -126,3 +141,6 @@ CssmDLPolyData::operator Guid () const
 
        return Guid(reinterpret_cast<const char *>(mData.Data));
 }
 
        return Guid(reinterpret_cast<const char *>(mData.Data));
 }
+
+
+}      // end namespace Security