Nikolay Sivov <nsi...@codeweavers.com> writes: > @@ -1031,6 +1105,17 @@ static BOOL parse_window_class_elem(xmlbuf_t* xmlbuf, > struct dll_redirect* dll) > > if (!(entity->u.class.name = xmlstrdupW(&content))) return FALSE; > > + /* each class entry needs index, data and string data */ > + acl->actctx->wndclass_section_len += sizeof(struct wndclass_index); > + acl->actctx->wndclass_section_len += sizeof(struct > wndclass_redirect_data); > + /* original name is stored separately */ > + acl->actctx->wndclass_section_len += > aligned_string_len((content.len+1)*sizeof(WCHAR)); > + /* versioned name and module name are stored one after another */ > + len = get_assembly_version(assembly, NULL) + content.len + 2 /* null > terminator and '!' separator */; > + len += strlenW(dll->name) + 1; > + acl->actctx->wndclass_section_len += > aligned_string_len(len*sizeof(WCHAR)); > + acl->actctx->wndclass_count++; > +
It would be better to do this at the time you build the structure. The parser shouldn't need to worry about this. -- Alexandre Julliard julli...@winehq.org