[coreboot] [PATCH] v3: print name of compression algorithm

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Sun Feb 17 13:02:08 CET 2008


On 17.02.2008 05:02, Peter Stuge wrote:
> On Sun, Feb 17, 2008 at 12:34:24AM +0100, Carl-Daniel Hailfinger wrote:
>   
>> +enum compalgo {
>> +	none = 0,
>> +	lzma = 1,
>> +	nrv2b = 2,
>> +	zeroes = 3,
>> +	/* invalid should always be the last entry. */
>> +	invalid
>> +};
>>     
>
> It's fairly common to uppercase these. Do we want that too?
>   

This was just a straight copy from util/lar, but I agree. We use these 
enums like #defines, so uppercasing seems indeed the best way to bring 
this hint to the developer.

>> +	const char *algoname = algo_name[(archive->compression >= invalid)
>> +					? invalid : archive->compression];
>>     
>
> Not sure about invalid. I would be less worried if invalid was set to
> some explicit value, e.g. -1.

We use archive->compression as array index. The line above is there to 
make sure we do not dereference a random pointer outside the array. That 
also rules out a negative value for invalid because accessing arrays 
with negative indices is real scary EVIL.

> The current proposal means we can never remove algorithms.
>   

How so? We have to keep the number reserved if we ever abandon a 
compression algorithm, but that's it.

Regards,
Carl-Daniel

-- 
http://www.hailfinger.org/





More information about the coreboot mailing list