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