typedef struct {
ESQ type;
char zero;
char title[];
} XPAK_META;
XPAK_META *GetXPakMeta(HANDLE h) {
char *p=HeapDeref(h);
p=p+2+*(unsigned int *)p-7;
if (strcmp(p+1,"XPAK"))
return 0;
// p points to the zero...
while (*--p);
return (XPAK_META *)(p-1);
}
XPAK_META *xpak;
if ((xpak=GetXPakMeta(hd))) {
type_str = xpak->type==OTH_TAG ? xpak->title : "";
if (!*type_str) type_str = GetTypeString(xpak->type);
} else {
...
}