🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.lang.c
Article #15535

Re: alignements struct/tableaux

#15535
From: harpo
Date: Sun, 18 Sep 2005 12:18
49 lines
2841 bytes
On Sun, 18 Sep 2005 11:40:18 +0200, Pierre Habouzit wrote:

>> 
>> Pourquoi cela au-dessous ne suffirait-il pas ? :
>> 
>> struct message {
>>     [ ... pleins de choses dont pas mal de 'headers' ...];
>>     blob_t *__bufs[2];
>>     [ ... encore pleins de choses ...];
>> };
> 
> parce que lorsque je code et que j'utilise ma structure de message, je ne
> veux pas passer par __bufs et �crire des msg->__bufs[0] ou msg->__bufs[1]
> et me souvenir lorsque je code que __bufs[0] est mon buffer originel, et
> bufs[1] celui o� je fait mes modifs.

#define ORIGINAL 0
#define MODIFIED 1
( ou l'�quivalent avec enum )

Quand on veut explicitement acc�der � un des buffers.
soit : 
msg->__bufs[ ORIGINAL ] 
msg->__bufs[ MODIFIED ] 

Quand on veut  y acc�der sans savoir s'il a �t� ou non modifi�, se
servir du bit modified,
Je ne vois rien d'obfuscant l� dedans.

Je ne pense pas que rajouter des donn�es inutiles dans des structures
puisse simplifier la lecture d'un programme, personnellement c'est
plut�t un truc qui me laisserait perplexe et soup�onner une siouxerie
pas nette en le lisant.

> Dans mon module C je veux utiliser msg->original et msg->scratch qui eux
> sont clairs, et en plus comme original a un const en plus, il m'�vite
> la b�tise d'aller le modifier si je ne suis plus tr�s r�veill�.

Le const en plus peut, par contre �tre un bon argument, mais je ne pense
pas qu'il soit d�terminant.

Dans ce cas mets juste 2 pointers et des macros ou fonctions inline
get_buf_original( msg )
get_buf_modified( msg )

et une autre macro qui se sert du bit modified.

Je ne vois vraiment pas la raison pour s'emb�ter avec des struct et des
unions, c'est obfuscatoire.
Technical Details
Message-ID: <432d5b33$0$27422$8fcfb975@news.wanadoo.fr>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!193.252.118.146.MISMATCH!news.wanadoo.fr!news.wanadoo.fr!not-for-mail
References: <432c52d5$0$9425$626a14ce@news.free.fr> <mn.8cb87d59c7031bee.15512@YOURBRAnoos.fr> <432c688a$0$14382$626a14ce@news.free.fr> <432c6c63$0$17061$8fcfb975@news.wanadoo.fr> <432c77ed$0$12670$626a14ce@news.free.fr> <432d0eca$0$5402$8fcfb975@news.wanadoo.fr> <432d35cb$0$9448$626a14ce@news.free.fr>

Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,2ab126dba8e5e645
X-Google-Attributes: gidf9822,public
X-Google-Language: FRENCH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!193.252.118.146.MISMATCH!news.wanadoo.fr!news.wanadoo.fr!not-for-mail
From: harpo <trashcan@hotmail.com>
Subject: Re: alignements struct/tableaux
Date: Sun, 18 Sep 2005 14:18:35 +0200
Newsgroups: fr.comp.lang.c
References: <432c52d5$0$9425$626a14ce@news.free.fr> <mn.8cb87d59c7031bee.15512@YOURBRAnoos.fr> <432c688a$0$14382$626a14ce@news.free.fr> <432c6c63$0$17061$8fcfb975@news.wanadoo.fr> <432c77ed$0$12670$626a14ce@news.free.fr> <432d0eca$0$5402$8fcfb975@news.wanadoo.fr> <432d35cb$0$9448$626a14ce@news.free.fr>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Lines: 50
Message-ID: <432d5b33$0$27422$8fcfb975@news.wanadoo.fr>
Organization: les newsgroups par Wanadoo
NNTP-Posting-Date: 18 Sep 2005 14:18:59 CEST
NNTP-Posting-Host: 83.195.120.205
X-Trace: 1127045939 news.wanadoo.fr 27422 83.195.120.205:44528
X-Complaints-To: abuse@wanadoo.fr