Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/3/84; site talcott.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!talcott!kendall
From: kendall@talcott.UUCP (Sam Kendall)
Newsgroups: net.unix-wizards,net.bugs.4bsd
Subject: Re: massive type confusion [in 4.2bsd]
Message-ID: <175@talcott.UUCP>
Date: Fri, 7-Dec-84 17:02:18 EST
Article-I.D.: talcott.175
Posted: Fri Dec  7 17:02:18 1984
Date-Received: Sun, 9-Dec-84 03:12:05 EST
References: <244@utcs.UUCP>
Organization: Sociology Dept., Harvard Univ.
Lines: 38
Xref: watmath net.unix-wizards:10843 net.bugs.4bsd:1265

> 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

No, don't do it!  This would make llib-lc incompatible with the manual
pages.  That's just as bad.  llib-lc should look like the manual pages
whenever possible.

> 	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*.

This is sufficient, no need to touch the lint library--but will it break
anything?  In obscure cases it can change the meaning of an expression,
even on the VAX.

> 	Use the types defined in  in your programs!

No, use the types on the manual pages.

> 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 .

I'm all agreement here (although I think the BSD people were under a
lot of pressure to get 4.2 out the door).  Even the SPECIFICATION of
4.2 is VAX-specific!

	Sam Kendall	  {allegra,ihnp4,ima,amd}!wjh12!kendall
	Delft Consulting Corp.	    decvax!genrad!wjh12!kendall