Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA
Path: utzoo!linus!philabs!cmcl2!seismo!brl-tgr!tgr!gwyn@BRL.ARPA
From: gwyn@BRL.ARPA (VLD/VMB)
Newsgroups: net.lang.c
Subject: Re:  casts to (void) [considered harmful]
Message-ID: <541@brl-tgr.ARPA>
Date: Thu, 8-Aug-85 17:49:58 EDT
Article-I.D.: brl-tgr.541
Posted: Thu Aug  8 17:49:58 1985
Date-Received: Sun, 11-Aug-85 05:41:43 EDT
Sender: news@brl-tgr.ARPA
Lines: 9

typedef	unsigned short	int16;
typedef	unsigned long	int32;

(note the bug fix, also) is equivalent to what you were trying to do,
but does not need to be rewritten for different machines.

In any case, most experienced C programmers will use "short" when 16
bits is known to suffice and "long" when 32 bits are needed.  This is
certainly not the main portability problem.