Deutsch   English   Français   Italiano  
<tkosf6$1oi8$1@gioia.aioe.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!2.eu.feeder.erje.net!feeder.erje.net!feeder1.feed.usenet.farm!feed.usenet.farm!aioe.org!nEzYORZpWGOXyluHSN+PUw.user.46.165.242.75.POSTED!not-for-mail
From: Didier <db@invalid.invalid>
Newsgroups: fr.comp.lang.c
Subject: Re: /etc/exports option unsecure
Date: Sat, 12 Nov 2022 20:33:59 +0100
Organization: Aioe.org NNTP Server
Message-ID: <tkosf6$1oi8$1@gioia.aioe.org>
References: <tk5q6i$2g2ek$1@dont-email.me>
 <6369ff7f$0$31523$426a74cc@news.free.fr> <tkj862$j30b$1@dont-email.me>
 <tkjco0$r73$1@vmserveur.novazur.fr> <tkjg61$jmrn$1@dont-email.me>
 <tklst8$6qa$1@vmserveur.novazur.fr> <tklu00$1r51$1@gioia.aioe.org>
 <tkm05o$hmc$1@vmserveur.novazur.fr> <tkm2g0$tfa0$1@dont-email.me>
 <tkm3k1$nci$2@shakotay.alphanet.ch> <tkm4vp$tnmp$1@dont-email.me>
 <tkm5ne$et$1@shakotay.alphanet.ch> <tknod5$6ne$1@gioia.aioe.org>
 <tknp1d$6v3$1@shakotay.alphanet.ch>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="57928"; posting-host="nEzYORZpWGOXyluHSN+PUw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: fr
Bytes: 3146
Lines: 50

Le 12/11/2022 à 10:29, Marc SCHAEFER a écrit :
> [ Followup-To: fr.comp.lang.c ]
> 
> Didier <db@invalid.invalid> wrote:
>> C'est sans doute pas top, mais au moins c'est différent de la relation
>> de comparaison, au sens mathématique comme au sens commun.
> 
> En fait, le plus grand problème de la notation = (affectation) et ==
> (comparaison) apparaît dans les langages très expressifs comme C ou
> Perl.
> 
> Par exemple en C
> 
>     if (f = tcp_connect()) {
>     }
> 
> Cela appelle tcp_connect, affecte la valeur à la variable f, puis teste
> si c'est différent de zéro. C'est très souvent utilisé et c'est
> légitime.
> 
> Mais peut-être que le codeur voulait simplement comparer f au résultat
> de tcp_connect() sans affecter? Au moins, gcc fait un warning (avec
> -Wall), et suggère la forme:
> 
>     if ((f = tcp_connect())) {
>     }
> 
> pour lui montrer que l'intention était bien d'affecter à f puis de
> tester le résultat.
> 
> Une bonne pratique si l'on veut éviter une affectation par erreur
> (écriture de == remplacée par erreur par =) est la suivante:
> 
>     # risque si on oublie un =
>     if (c == 42) {
>     }
> 
>     # pas de risque, 42 pas affectable, l'oubli d'un = fera
>     # une erreur, car la partie gauche n'est pas affectable
>     if (42 == c) {
>     }
> 
> -- Et pour les afficionados du langage Newton [1]
> TAKE PUSH programme;
> 
> [1] https://hopl.info/showlanguage.prx?exp=965&language=Newton
Bonsoir, et merci Marc, c'est très pédagogique, comme toujours de ta part.
Pour un amateur comme moi (autodidacte en plus, la tare quoi !), c'est 
toujours bon à prendre. D'autant que j'ai laissé tomber Pascal depuis 
pas mal de temps, je ne fais plus que du PHP.
Didier.