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!watmath!clyde!bonnie!akgua!mcnc!decvax!wivax!cadmus!harvard!seismo!brl-tgr!tgr!geoff@utcs.uucp
From: geoff@utcs.uucp
Newsgroups: net.unix-wizards
Subject: massive type confusion
Message-ID: <6536@brl-tgr.ARPA>
Date: Sun, 9-Dec-84 05:10:59 EST
Article-I.D.: brl-tgr.6536
Posted: Sun Dec  9 05:10:59 1984
Date-Received: Thu, 13-Dec-84 01:54:28 EST
Sender: news@brl-tgr.ARPA
Organization: Ballistic Research Lab
Lines: 27

Description:
	These files use int where long is correct and fail to use
	the types defined in .
Repeat-By:
	Lint a type-correct program that calls lseek, time and ctime
	and which passes lint on v7 (not 4.1BSD, not 2BSD).  Observe
	the utterly wrong and copious messages produced by lint.
Fix:
	Edit llib-lc to use off_t instead of long where appropriate
	(hint: ftell must be declared as returning long).
	Edit  to use ino_t (instead of unsigned long)
	and off_t where appropriate.  Edit  to typedef
	off_t and time_t as long, *not int*.  Burn a new binary
	lint library for llib-lc.

	Use the types defined in  in your programs!

	It is left as an exercise to the reader to make cc invoke
	lint before the C compiler and exit if lint complains.
Flame:
	int is not long on all machines.  I realise that the authors
	of 4.2BSD are too lazy to write type-correct code, but they
	could at least refrain from breaking existing, correct code
	such as .
	To paraphrase Dennis Ritchie, if you want BCPL, you know where
	to find it.  In the mean time, please start writing *C* programs,
	you know the ones, they have *type* declarations in them.