* The predecessor of a successor need not be present. This in
particular happens on distributed builds or when using push/pull.
This commit is contained in:
parent
ae1a1efa41
commit
62fe5c4a22
|
@ -297,11 +297,13 @@ const char * * strings2CharPtrs(const Strings & ss)
|
||||||
/* Should only be called after an expression has been normalised. */
|
/* Should only be called after an expression has been normalised. */
|
||||||
Path queryNormalForm(const Path & nePath)
|
Path queryNormalForm(const Path & nePath)
|
||||||
{
|
{
|
||||||
StoreExpr ne = storeExprFromPath(nePath);
|
|
||||||
if (ne.type == StoreExpr::neClosure) return nePath;
|
|
||||||
Path nfPath;
|
Path nfPath;
|
||||||
if (!querySuccessor(nePath, nfPath)) abort();
|
if (querySuccessor(nePath, nfPath)) return nfPath;
|
||||||
return nfPath;
|
/* If there is no successor, than nePath must be a normal form
|
||||||
|
itself. */
|
||||||
|
StoreExpr ne = storeExprFromPath(nePath);
|
||||||
|
if (ne.type != StoreExpr::neClosure) abort();
|
||||||
|
return nePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue