* 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
					
				
					 1 changed files with 6 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -297,11 +297,13 @@ const char * * strings2CharPtrs(const Strings & ss)
 | 
			
		|||
/* Should only be called after an expression has been normalised. */
 | 
			
		||||
Path queryNormalForm(const Path & nePath)
 | 
			
		||||
{
 | 
			
		||||
    StoreExpr ne = storeExprFromPath(nePath);
 | 
			
		||||
    if (ne.type == StoreExpr::neClosure) return nePath;
 | 
			
		||||
    Path nfPath;
 | 
			
		||||
    if (!querySuccessor(nePath, nfPath)) abort();
 | 
			
		||||
    return nfPath;
 | 
			
		||||
    if (querySuccessor(nePath, 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…
	
	Add table
		Add a link
		
	
		Reference in a new issue