Короче, если вы пишете программы на Си, то всегда, ВСЕГДА, ВСЕГДА проверяйте битность данных и не игнорируйте вялые попытки компилятора возразить вашим усилиям впихнуть 16 бит в байтовую переменную. Иначе будете как я, седые и с позором.
Сам себя смачно макнул в говно, короче говоря.