forked from lix-project/lix
store-api: fix/clarify capture lifetimes in copyPaths
This seems to fix a use of stack after return.
Change-Id: If690a6defb9a3225684685132cf78b227e271447
This commit is contained in:
parent
9185ab7bf0
commit
8e6661cce7
|
@ -1174,15 +1174,20 @@ std::map<StorePath, StorePath> copyPaths(
|
||||||
ValidPathInfo infoForDst = *info;
|
ValidPathInfo infoForDst = *info;
|
||||||
infoForDst.path = storePathForDst;
|
infoForDst.path = storePathForDst;
|
||||||
|
|
||||||
auto source = sinkToSource([&](Sink & sink) {
|
auto source =
|
||||||
|
sinkToSource([&srcStore, &dstStore, missingPath = missingPath, info = std::move(info)](Sink & sink) {
|
||||||
// We can reasonably assume that the copy will happen whenever we
|
// We can reasonably assume that the copy will happen whenever we
|
||||||
// read the path, so log something about that at that point
|
// read the path, so log something about that at that point
|
||||||
auto srcUri = srcStore.getUri();
|
auto srcUri = srcStore.getUri();
|
||||||
auto dstUri = dstStore.getUri();
|
auto dstUri = dstStore.getUri();
|
||||||
auto storePathS = srcStore.printStorePath(missingPath);
|
auto storePathS = srcStore.printStorePath(missingPath);
|
||||||
Activity act(*logger, lvlInfo, actCopyPath,
|
Activity act(
|
||||||
|
*logger,
|
||||||
|
lvlInfo,
|
||||||
|
actCopyPath,
|
||||||
makeCopyPathMessage(srcUri, dstUri, storePathS),
|
makeCopyPathMessage(srcUri, dstUri, storePathS),
|
||||||
{storePathS, srcUri, dstUri});
|
{storePathS, srcUri, dstUri}
|
||||||
|
);
|
||||||
PushActivity pact(act.id);
|
PushActivity pact(act.id);
|
||||||
|
|
||||||
LambdaSink progressSink([&, total = 0ULL](std::string_view data) mutable {
|
LambdaSink progressSink([&, total = 0ULL](std::string_view data) mutable {
|
||||||
|
|
Loading…
Reference in a new issue