[net.bugs.4bsd] massive type confusion in 4.2bsd

kendall@talcott.UUCP (Sam Kendall) (12/08/84)

> Description:
> 	These files use int where long is correct and fail to use
> 	the types defined in <sys/types.h>.
> 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 <sys/dir.h> to use ino_t (instead of unsigned long)
> 	and off_t where appropriate.  Edit <sys/types.h> 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 <sys/types.h> 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 <sys/types.h>.

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

wls@astrovax.UUCP (William L. Sebok) (12/08/84)

> > Description:
> > 	These files use int where long is correct and fail to use
> > 	the types defined in <sys/types.h>.
> > 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.

Do it right.  Edit both llib-lc and the manual pages.

I believe that we went through this discussion about two or three months
ago.
-- 
Bill Sebok			Princeton University, Astrophysics
{allegra,akgua,burl,cbosgd,decvax,ihnp4,noao,princeton,vax135}!astrovax!wls