#include #include #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "wvexporter-priv.h" void wvPutFLD (FLD * item, wvStream * fd) { U8 temp8 = (U8) 0; U8 ch = (U8) 0; /* FLD is a union of var1 && var2 * but they have a common 'ch' first member * I pray to god that this works XP & X-compilers */ ch = item->var1.ch; if (ch == 19) { temp8 |= ch; temp8 |= item->var1.reserved << 5; write_8ubit (fd, temp8); write_8ubit (fd, (U8) item->var1.flt); } else { temp8 |= ch; temp8 |= item->var2.reserved << 5; write_8ubit (fd, temp8); temp8 |= item->var2.fDiffer; temp8 |= item->var2.fZombieEmbed << 1; temp8 |= item->var2.fResultDirty << 2; temp8 |= item->var2.fResultEdited << 3; temp8 |= item->var2.fLocked << 4; temp8 |= item->var2.fPrivateResult << 5; temp8 |= item->var2.fNested << 6; temp8 |= item->var2.fHasSep << 7; write_8ubit (fd, temp8); } }