forked from lix-project/lix
Merge pull request #8260 from edolstra/lazy-trees-cherrypicks
lazy-trees cherrypicks
This commit is contained in:
commit
946fd29422
|
@ -625,7 +625,8 @@ string_t AttrCursor::getStringWithContext()
|
|||
NixStringContext context;
|
||||
copyContext(v, context);
|
||||
return {v.string.s, std::move(context)};
|
||||
} else if (v.type() == nPath)
|
||||
}
|
||||
else if (v.type() == nPath)
|
||||
return {v.path().to_string(), {}};
|
||||
else
|
||||
root->state.error("'%s' is not a string but %s", getAttrPathStr()).debugThrow<TypeError>();
|
||||
|
|
|
@ -17,7 +17,7 @@ static ssize_t callback_read(struct archive * archive, void * _self, const void
|
|||
*buffer = self->buffer.data();
|
||||
|
||||
try {
|
||||
return self->source->read((char *) self->buffer.data(), 4096);
|
||||
return self->source->read((char *) self->buffer.data(), self->buffer.size());
|
||||
} catch (EndOfFile &) {
|
||||
return 0;
|
||||
} catch (std::exception & err) {
|
||||
|
@ -39,7 +39,7 @@ void TarArchive::check(int err, const std::string & reason)
|
|||
throw Error(reason, archive_error_string(this->archive));
|
||||
}
|
||||
|
||||
TarArchive::TarArchive(Source & source, bool raw) : buffer(4096)
|
||||
TarArchive::TarArchive(Source & source, bool raw) : buffer(65536)
|
||||
{
|
||||
this->archive = archive_read_new();
|
||||
this->source = &source;
|
||||
|
|
|
@ -24,6 +24,7 @@ struct TarArchive {
|
|||
|
||||
~TarArchive();
|
||||
};
|
||||
|
||||
void unpackTarfile(Source & source, const Path & destDir);
|
||||
|
||||
void unpackTarfile(const Path & tarFile, const Path & destDir);
|
||||
|
|
|
@ -27,7 +27,9 @@ nlohmann::json builtPathsWithResultToJSON(const std::vector<BuiltPathWithResult>
|
|||
std::visit([&](const auto & t) {
|
||||
auto j = t.toJSON(store);
|
||||
if (b.result) {
|
||||
if (b.result->startTime)
|
||||
j["startTime"] = b.result->startTime;
|
||||
if (b.result->stopTime)
|
||||
j["stopTime"] = b.result->stopTime;
|
||||
if (b.result->cpuUser)
|
||||
j["cpuUser"] = ((double) b.result->cpuUser->count()) / 1000000;
|
||||
|
|
Loading…
Reference in a new issue