guix_mirror_bot pushed a commit to branch master
in repository guix.

commit 583e0688e33c4f3d7e3f1e2f30dd78690eb58fd4
Author: Congcong Kuo <congcong....@gmail.com>
AuthorDate: Tue May 27 01:49:56 2025 +0800

    daemon: Remove ‘AutoDeleteArray’.
    
    * libutil/util.hh (AutoDeleteArray): Remove.
    * libutil/util.cc (readString, readStrings): Use ‘std::vector’ instead
    of ‘AutoDeleteArray’.
    * libutil/serialise.cc (readFile): Likewise.
    
    Change-Id: I45362998dbb8226874f66b77cd19f071f7bb2ab3
    Signed-off-by: Ludovic Courtès <l...@gnu.org>
---
 nix/libutil/serialise.cc | 19 +++++++++----------
 nix/libutil/util.cc      |  7 +++----
 nix/libutil/util.hh      | 12 ------------
 3 files changed, 12 insertions(+), 26 deletions(-)

diff --git a/nix/libutil/serialise.cc b/nix/libutil/serialise.cc
index 9241750750..6f04ab1591 100644
--- a/nix/libutil/serialise.cc
+++ b/nix/libutil/serialise.cc
@@ -16,11 +16,11 @@ BufferedSink::~BufferedSink()
     delete[] buffer;
 }
 
-    
+
 void BufferedSink::operator () (const unsigned char * data, size_t len)
 {
     if (!buffer) buffer = new unsigned char[bufSize];
-    
+
     while (len) {
         /* Optimisation: bypass the buffer if the data exceeds the
            buffer size. */
@@ -96,7 +96,7 @@ size_t BufferedSource::read(unsigned char * data, size_t len)
     if (!buffer) buffer = new unsigned char[bufSize];
 
     if (!bufPosIn) bufPosIn = readUnbuffered(buffer, bufSize);
-            
+
     /* Copy out the data in the buffer. */
     size_t n = len > bufPosIn - bufPosOut ? bufPosIn - bufPosOut : len;
     memcpy(data, buffer + bufPosOut, n);
@@ -247,18 +247,17 @@ size_t readString(unsigned char * buf, size_t max, Source 
& source)
     return len;
 }
 
- 
+
 string readString(Source & source)
 {
     size_t len = readInt(source);
-    unsigned char * buf = new unsigned char[len];
-    AutoDeleteArray<unsigned char> d(buf);
-    source(buf, len);
-    readPadding(len, source);
-    return string((char *) buf, len);
+    std::vector<unsigned char> buf(len);
+    source(buf.data(), buf.size());
+    readPadding(buf.size(), source);
+    return string((char *) buf.data(), buf.size());
 }
 
- 
+
 template<class T> T readStrings(Source & source)
 {
     unsigned int count = readInt(source);
diff --git a/nix/libutil/util.cc b/nix/libutil/util.cc
index 56f116046c..398f61841f 100644
--- a/nix/libutil/util.cc
+++ b/nix/libutil/util.cc
@@ -271,11 +271,10 @@ string readFile(int fd)
     if (fstat(fd, &st) == -1)
         throw SysError("statting file");
 
-    unsigned char * buf = new unsigned char[st.st_size];
-    AutoDeleteArray<unsigned char> d(buf);
-    readFull(fd, buf, st.st_size);
+    std::vector<unsigned char> buf(st.st_size);
+    readFull(fd, buf.data(), buf.size());
 
-    return string((char *) buf, st.st_size);
+    return string((char *) buf.data(), buf.size());
 }
 
 
diff --git a/nix/libutil/util.hh b/nix/libutil/util.hh
index 377aac0684..03234e3a5d 100644
--- a/nix/libutil/util.hh
+++ b/nix/libutil/util.hh
@@ -194,18 +194,6 @@ string drainFD(int fd);
 /* Automatic cleanup of resources. */
 
 
-template <class T>
-struct AutoDeleteArray
-{
-    T * p;
-    AutoDeleteArray(T * p) : p(p) { }
-    ~AutoDeleteArray()
-    {
-        delete [] p;
-    }
-};
-
-
 class AutoDelete
 {
     Path path;

Reply via email to