Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Oct 1996 13:15:22 +0200
From:      Poul-Henning Kamp <phk@critter.tfs.com>
To:        Michael Hancock <michaelh@cet.co.jp>
Cc:        John Polstra <jdp@polstra.com>, bde@zeta.org.au, current@FreeBSD.org, wollman@lcs.mit.edu
Subject:   Re: <sys/queue.h> 
Message-ID:  <1351.845896522@critter.tfs.com>
In-Reply-To: Your message of "Mon, 21 Oct 1996 20:11:45 %2B0900." <Pine.SV4.3.93.961021200032.24461B-100000@parkplace.cet.co.jp> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <Pine.SV4.3.93.961021200032.24461B-100000@parkplace.cet.co.jp>, Mich
ael Hancock writes:

I agree 100% with the footnote that if a "simple struct" represent a 
selfcontained object a typedef is OK too.

>On Mon, 21 Oct 1996, Poul-Henning Kamp wrote:
>
>> >It's questionable to define a typedef just to save typing the word struct.
>> 
>> The reason I do it is not to save 7 chars of typing.
>> 
>> It's because we are talking about a self-contained type that carries
>> with it all the operations you can perform on it.
>
>I think you should do the changes you mention to queue.h and change the
>man page example to the following...
>
>*** foo1	Mon Oct 21 20:06:06 1996
>--- foo2	Mon Oct 21 20:05:33 1996
>***************
>*** 1,10 ****
>  #include <sys/queue.h>
>  
>! SLIST_HEAD(slisthead, entry) head;
>  struct slisthead *headp;		     /* Singly-linked List head. */
>  struct entry {
>  	int i;
>! 	SLIST_ENTRY(entry) entries;     /* Singly-linked List. */
>       } *n1, *n2, *n3, *np;
>  
>  
>--- 1,10 ----
>  #include <sys/queue.h>
>  
>! SLIST_HEAD(slisthead, struct entry) head;
>  struct slisthead *headp;		     /* Singly-linked List head. */
>  struct entry {
>  	int i;
>! 	SLIST_ENTRY(struct entry) entries;     /* Singly-linked List. */
>       } *n1, *n2, *n3, *np;
>  
>  
>The original mixes up tag names and type names, which is a bogus thing to
>do.
>
>Use typedefs for scalars such as dev_t and for complex objects that
>combine arrays, pointers, structs, and functions.
>
>For simple structs, the typedef doesn't gain you much aside from not
>having to type "struct".
>
>Regards,
>
>
>Mike Hancock
>
>
>

--
Poul-Henning Kamp           | phk@FreeBSD.ORG       FreeBSD Core-team.
http://www.freebsd.org/~phk | phk@login.dknet.dk    Private mailbox.
whois: [PHK]                | phk@ref.tfs.com       TRW Financial Systems, Inc.
Future will arrive by its own means, progress not so.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1351.845896522>