widl: Properly align name table entries.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
This commit is contained in:
Dmitry Timoshkov 2016-01-07 19:12:47 +08:00 committed by Alexandre Julliard
parent f3ca3044fe
commit 9d26c6d75a

View file

@ -192,10 +192,15 @@ static int add_name(struct sltg_data *name_table, const char *name)
{
int name_offset = name_table->size;
int new_size = name_table->size + strlen(name) + 1 + 8;
int aligned_size;
chat("add_name: %s\n", name);
new_size = (new_size + 1) & ~1; /* align */
aligned_size = (new_size + 0x1f) & ~0x1f;
if (aligned_size - new_size < 4)
new_size = aligned_size;
else
new_size = (new_size + 1) & ~1;
if (new_size > name_table->allocated)
{