diff options
Diffstat (limited to 'third_party/nix/src/nix-env')
-rw-r--r-- | third_party/nix/src/nix-env/nix-env.cc | 7 | ||||
-rw-r--r-- | third_party/nix/src/nix-env/user-env.cc | 24 |
2 files changed, 15 insertions, 16 deletions
diff --git a/third_party/nix/src/nix-env/nix-env.cc b/third_party/nix/src/nix-env/nix-env.cc index 10e2e9492e6c..07bcb54eb6f2 100644 --- a/third_party/nix/src/nix-env/nix-env.cc +++ b/third_party/nix/src/nix-env/nix-env.cc @@ -158,8 +158,7 @@ static void loadSourceExpr(EvalState& state, const Path& path, Value& v) { directory). */ else if (S_ISDIR(st.st_mode)) { state.mkAttrs(v, 1024); - state.mkList(*state.allocAttr(v, state.symbols.Create("_combineChannels")), - 0); + state.mkList(*state.allocAttr(v, state.symbols.Create("_combineChannels"))); StringSet attrs; getAllExprs(state, path, attrs, v); } @@ -1199,11 +1198,11 @@ static void opQuery(Globals& globals, Strings opFlags, Strings opArgs) { attrs2["type"] = "strings"; XMLOpenElement m(xml, "meta", attrs2); for (unsigned int j = 0; j < v->listSize(); ++j) { - if (v->listElems()[j]->type != tString) { + if ((*v->list)[j]->type != tString) { continue; } XMLAttrs attrs3; - attrs3["value"] = v->listElems()[j]->string.s; + attrs3["value"] = (*v->list)[j]->string.s; xml.writeEmptyElement("string", attrs3); } } else if (v->type == tAttrs) { diff --git a/third_party/nix/src/nix-env/user-env.cc b/third_party/nix/src/nix-env/user-env.cc index 8130eafbdf35..06329e74f340 100644 --- a/third_party/nix/src/nix-env/user-env.cc +++ b/third_party/nix/src/nix-env/user-env.cc @@ -51,29 +51,29 @@ bool createUserEnv(EvalState& state, DrvInfos& elems, const Path& profile, as the meta attributes. */ Path drvPath = keepDerivations ? i.queryDrvPath() : ""; - Value& v(*state.allocValue()); - manifest.listElems()[n++] = &v; - state.mkAttrs(v, 16); + Value* v = state.allocValue(); + (*manifest.list)[n++] = v; + state.mkAttrs(*v, 16); - mkString(*state.allocAttr(v, state.sType), "derivation"); - mkString(*state.allocAttr(v, state.sName), i.queryName()); + mkString(*state.allocAttr(*v, state.sType), "derivation"); + mkString(*state.allocAttr(*v, state.sName), i.queryName()); auto system = i.querySystem(); if (!system.empty()) { - mkString(*state.allocAttr(v, state.sSystem), system); + mkString(*state.allocAttr(*v, state.sSystem), system); } - mkString(*state.allocAttr(v, state.sOutPath), i.queryOutPath()); + mkString(*state.allocAttr(*v, state.sOutPath), i.queryOutPath()); if (!drvPath.empty()) { - mkString(*state.allocAttr(v, state.sDrvPath), i.queryDrvPath()); + mkString(*state.allocAttr(*v, state.sDrvPath), i.queryDrvPath()); } // Copy each output meant for installation. DrvInfo::Outputs outputs = i.queryOutputs(true); - Value& vOutputs = *state.allocAttr(v, state.sOutputs); + Value& vOutputs = *state.allocAttr(*v, state.sOutputs); state.mkList(vOutputs, outputs.size()); unsigned int m = 0; for (auto& j : outputs) { - mkString(*(vOutputs.listElems()[m++] = state.allocValue()), j.first); - Value& vOutputs = *state.allocAttr(v, state.symbols.Create(j.first)); + mkString(*((*vOutputs.list)[m++] = state.allocValue()), j.first); + Value& vOutputs = *state.allocAttr(*v, state.symbols.Create(j.first)); state.mkAttrs(vOutputs, 2); mkString(*state.allocAttr(vOutputs, state.sOutPath), j.second); @@ -86,7 +86,7 @@ bool createUserEnv(EvalState& state, DrvInfos& elems, const Path& profile, } // Copy the meta attributes. - Value& vMeta = *state.allocAttr(v, state.sMeta); + Value& vMeta = *state.allocAttr(*v, state.sMeta); state.mkAttrs(vMeta, 16); StringSet metaNames = i.queryMetaNames(); for (auto& j : metaNames) { |