daemon/listdomain.cc
changeset 2 b3afb9f1e801
parent 0 6f7a81934006
--- a/daemon/listdomain.cc	Sun Jan 20 00:12:17 2008 +0100
+++ b/daemon/listdomain.cc	Sun Jan 20 00:22:09 2008 +0100
@@ -53,15 +53,16 @@
   if(!write_buf(fd, "", 0))
     RETURN(err, "Failed while writing initial OK response");
 
-  vpwentry entry;
-  while(reader->get(entry)) {
-    mystring code = entry.to_record();
-    unsigned length = entry.name.length() + 1 + code.length() + 1;
+  vpwentry* entry;
+  while((entry = reader->get()) != 0) {
+    mystring code = entry->to_record();
+    unsigned length = entry->name.length() + 1 + code.length();
     char buf[length];
-    memcpy(buf, entry.name.c_str(), entry.name.length()+1);
-    memcpy(buf+entry.name.length()+1, code.c_str(), code.length()+1);
+    memcpy(buf, entry->name.c_str(), entry->name.length()+1);
+    memcpy(buf+entry->name.length()+1, code.c_str(), code.length());
     if(!write_buf(fd, buf, length))
       RETURN(err, "Failed while writing list entry");
+    delete entry;
   }
   
   delete reader;