From 3e428f2289d0cb1277e013cd7f37754d7c533ddf Mon Sep 17 00:00:00 2001 From: eldritch horrors Date: Sun, 24 Mar 2024 15:24:02 +0100 Subject: [PATCH] libstore: un-inline copyNAR expansions these are copies of copyNAR with only some variables renamed. Change-Id: I98ddd7a98250fa5d304e18e1debf417e9f7768dd --- src/libstore/daemon.cc | 8 ++------ src/libstore/export-import.cc | 4 +--- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/libstore/daemon.cc b/src/libstore/daemon.cc index 1181cc9e5..6a3035dda 100644 --- a/src/libstore/daemon.cc +++ b/src/libstore/daemon.cc @@ -453,9 +453,7 @@ static void performOp(TunnelLogger * logger, ref store, command. (We don't trust `addToStoreFromDump` to not eagerly consume the entire stream it's given, past the length of the Nar. */ - TeeSource savedNARSource(from, saved); - ParseSink sink; /* null sink; just parse the NAR */ - parseDump(sink, savedNARSource); + copyNAR(from, saved); } else { /* Incrementally parse the NAR file, stripping the metadata, and streaming the sole file we expect into @@ -907,9 +905,7 @@ static void performOp(TunnelLogger * logger, ref store, if (GET_PROTOCOL_MINOR(clientVersion) >= 21) source = std::make_unique(from, to); else { - TeeSource tee { from, saved }; - ParseSink ether; - parseDump(ether, tee); + copyNAR(from, saved); source = std::make_unique(saved.s); } diff --git a/src/libstore/export-import.cc b/src/libstore/export-import.cc index 87b2f8741..e0f3eb6c9 100644 --- a/src/libstore/export-import.cc +++ b/src/libstore/export-import.cc @@ -64,9 +64,7 @@ StorePaths Store::importPaths(Source & source, CheckSigsFlag checkSigs) /* Extract the NAR from the source. */ StringSink saved; - TeeSource tee { source, saved }; - ParseSink ether; - parseDump(ether, tee); + copyNAR(source, saved); uint32_t magic = readInt(source); if (magic != exportMagic)