Skip to content

Commit

Permalink
Coding style
Browse files Browse the repository at this point in the history
  • Loading branch information
edolstra committed Aug 23, 2021
1 parent c6b063c commit af94b54
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 25 deletions.
27 changes: 17 additions & 10 deletions src/libexpr/flake/flake.cc
Original file line number Diff line number Diff line change
Expand Up @@ -325,20 +325,32 @@ LockedFlake lockFlake(

std::vector<FlakeRef> parents;

struct LockParent {
/* The path to this parent. */
InputPath path;

/* Whether we are currently inside a top-level lockfile
(inputs absolute) or subordinate lockfile (inputs
relative). */
bool absolute;
};

std::function<void(
const FlakeInputs & flakeInputs,
std::shared_ptr<Node> node,
const InputPath & inputPathPrefix,
std::shared_ptr<const Node> oldNode,
const LockParent parent, const Path parentPath)>
const LockParent & parent,
const Path & parentPath)>
computeLocks;

computeLocks = [&](
const FlakeInputs & flakeInputs,
std::shared_ptr<Node> node,
const InputPath & inputPathPrefix,
std::shared_ptr<const Node> oldNode,
const LockParent parent, const Path parentPath)
const LockParent & parent,
const Path & parentPath)
{
debug("computing lock file node '%s'", printInputPath(inputPathPrefix));

Expand Down Expand Up @@ -384,15 +396,11 @@ LockedFlake lockFlake(
if (parent.absolute && !hasOverride) {
target = *input.follows;
} else {
if (hasOverride)
{
if (hasOverride) {
target = inputPathPrefix;
target.pop_back();
}
else
{
} else
target = parent.path;
}

for (auto & i : *input.follows) target.push_back(i);
}
Expand Down Expand Up @@ -480,8 +488,7 @@ LockedFlake lockFlake(

// If this input is a path, recurse it down.
// This allows us to resolve path inputs relative to the current flake.
if (localRef.input.getType() == "path")
{
if (localRef.input.getType() == "path") {
localRef.input.parent = parentPath;
localPath = canonPath(parentPath + "/" + *input.ref->input.getSourcePath());
}
Expand Down
9 changes: 0 additions & 9 deletions src/libexpr/flake/flake.hh
Original file line number Diff line number Diff line change
Expand Up @@ -124,15 +124,6 @@ struct LockFlags
std::set<InputPath> inputUpdates;
};

struct LockParent {
/* The path to this parent */
InputPath path;

/* Whether we are currently inside a top-level lockfile (inputs absolute)
or subordinate lockfile (inputs relative) */
bool absolute;
};

LockedFlake lockFlake(
EvalState & state,
const FlakeRef & flakeRef,
Expand Down
8 changes: 2 additions & 6 deletions src/libfetchers/path.cc
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,7 @@ struct PathInputScheme : InputScheme
std::string absPath;
auto path = getStrAttr(input.attrs, "path");

if (path[0] != '/' && input.parent)
{
if (path[0] != '/' && input.parent) {
auto parent = canonPath(*input.parent);

// the path isn't relative, prefix it
Expand All @@ -95,11 +94,8 @@ struct PathInputScheme : InputScheme
// for security, ensure that if the parent is a store path, it's inside it
if (!parent.rfind(store->storeDir, 0) && absPath.rfind(store->storeDir, 0))
throw BadStorePath("relative path '%s' points outside of its parent's store path %s, this is a security violation", path, parent);
}
else
{
} else
absPath = path;
}

// FIXME: check whether access to 'path' is allowed.
auto storePath = store->maybeParseStorePath(absPath);
Expand Down

0 comments on commit af94b54

Please sign in to comment.