If hashes do not match, print them in base-32 for SHA-1/SHA-256
Fixes #57.
This commit is contained in:
		
							parent
							
								
									a28b4445a4
								
							
						
					
					
						commit
						4c34d384e6
					
				
					 3 changed files with 10 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -2228,7 +2228,7 @@ void DerivationGoal::computeClosure()
 | 
			
		|||
            if (h != h2)
 | 
			
		||||
                throw BuildError(
 | 
			
		||||
                    format("output path `%1%' should have %2% hash `%3%', instead has `%4%'")
 | 
			
		||||
                    % path % i->second.hashAlgo % printHash(h) % printHash(h2));
 | 
			
		||||
                    % path % i->second.hashAlgo % printHash16or32(h) % printHash16or32(h2));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /* Get rid of all weird permissions. */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -153,6 +153,12 @@ string printHash32(const Hash & hash)
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
string printHash16or32(const Hash & hash)
 | 
			
		||||
{
 | 
			
		||||
    return hash.type == htMD5 ? printHash(hash) : printHash32(hash);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static bool mul(unsigned char * bytes, unsigned char y, int maxSize)
 | 
			
		||||
{
 | 
			
		||||
    unsigned char carry = 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,6 +54,9 @@ unsigned int hashLength32(const Hash & hash);
 | 
			
		|||
/* Convert a hash to a base-32 representation. */
 | 
			
		||||
string printHash32(const Hash & hash);
 | 
			
		||||
 | 
			
		||||
/* Print a hash in base-16 if it's MD5, or base-32 otherwise. */
 | 
			
		||||
string printHash16or32(const Hash & hash);
 | 
			
		||||
 | 
			
		||||
/* Parse a base-32 representation of a hash code. */
 | 
			
		||||
Hash parseHash32(HashType ht, const string & s);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue