]> git.sur5r.net Git - openldap/blobdiff - contrib/ldapc++/src/LDAPModList.cpp
Merge remote-tracking branch 'origin/mdb.master'
[openldap] / contrib / ldapc++ / src / LDAPModList.cpp
index 876b6ddb88ce53c2e6d5cb7386d6bb105afc48ef..d49d97dca6d58bf4dab1aa193c76206ce5f60381 100644 (file)
@@ -1,5 +1,6 @@
+// $OpenLDAP$
 /*
- * Copyright 2000, OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 2000-2012 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 
@@ -7,6 +8,10 @@
 #include "LDAPModList.h"
 #include "debug.h"
 
+#include <cstdlib>
+
+using namespace std;
+
 LDAPModList::LDAPModList(){
     DEBUG(LDAP_DEBUG_CONSTRUCT,"LDAPModList::LDAPModList()" << endl);
 }
@@ -23,12 +28,21 @@ void LDAPModList::addModification(const LDAPModification &mod){
 
 LDAPMod** LDAPModList::toLDAPModArray(){
     DEBUG(LDAP_DEBUG_TRACE,"LDAPModList::toLDAPModArray()" << endl);
-       LDAPMod **ret = new LDAPMod*[m_modList.size()+1];
-       ret[m_modList.size()]=0;
-       ModList::const_iterator i;
-       int j=0;
-       for (i=m_modList.begin(); i != m_modList.end(); i++ , j++){
-               ret[j]=i->toLDAPMod();
-       }
-       return ret;
+    LDAPMod **ret = (LDAPMod**) malloc(
+                   (m_modList.size()+1) * sizeof(LDAPMod*));
+    ret[m_modList.size()]=0;
+    LDAPModList::ListType::const_iterator i;
+    int j=0;
+    for (i=m_modList.begin(); i != m_modList.end(); i++ , j++){
+           ret[j]=i->toLDAPMod();
+    }
+    return ret;
+}
+
+bool LDAPModList::empty() const {
+    return m_modList.empty();
+}
+
+unsigned int LDAPModList::size() const {
+    return m_modList.size();
 }