On 03/21/13 00:40, Eric Blake wrote:
> On 03/20/2013 05:23 PM, Laszlo Ersek wrote:
>> The data is binary, not textual.
>>
>> Also, acpi_table_add() abuses the "char *f" pointer -- which normally
>> points to file names to load -- to poke into the table. Introduce "char
>> unsigned *table_start" for that purpose.
>>
>> Signed-off-by: Laszlo Ersek <ler...@redhat.com>
>> ---
> 
>> @@ -112,7 +113,7 @@ int acpi_table_add(const char *t)
>>          }
>>  
>>          for (;;) {
>> -            char data[8192];
>> +            char unsigned data[8192];
> 
> Although this spelling of the type is valid C, it is not typical
> convention prior to your patch:
> 
> $ git grep 'unsigned char' | wc
>     508    3130   34115
> $ git grep 'char unsigned' | wc
>       0       0       0

Will fix if a respin is required! :)

>> @@ -225,11 +226,11 @@ int acpi_table_add(const char *t)
>>      hdr.checksum = 0;    /* for checksum calculation */
>>  
>>      /* put header back */
>> -    memcpy(f, &hdr, sizeof(hdr));
>> +    memcpy(table_start, &hdr, sizeof(hdr));
>>  
>>      if (changed || !has_header || 1) {
>> -        ((struct acpi_table_header *)f)->checksum =
>> -            acpi_checksum((uint8_t *)f + ACPI_TABLE_PFX_SIZE, len);
>> +        ((struct acpi_table_header *)table_start)->checksum =
>> +            acpi_checksum((uint8_t *)table_start + ACPI_TABLE_PFX_SIZE, 
>> len);
> 
> Now that table_start is an unsigned char *, do you still need the cast
> to uint8_t*?

Hrmpf. Nope. Thankfully this code is going all away later on in the series.

Thanks for reviewing it!
Laszlo

Reply via email to