[SOS] Re: Sos Digest, Vol 4, Issue 5

Brice Arnould 98111 at free.fr
Wed Jun 23 12:27:06 CEST 2004


Le samedi 19 Juin 2004 14:49, Pierre-Francois a écrit :
> > Pourquoi avoir réservé un seul octet au lieu de quatre pour retval ? ça
> > risque pas de faire en fait un strlen modulo 255 et des bugs pour les
> > programmes utilisateurs ?
> Où est-ce que tu vois qu'ils ont utilisé qu'un seul octet ?
> Un int est généralement codé sur 32 bits. Donc une valeur max de 2^32
> puisque nous sommes en non signé.
Oups ^.^
Je signale juste mon cas: je n'avais jamais programé en C, et je me suis dit 
que j'allais essayer d'adapter ce projet sur un (très) vieux portable pour en 
faire une machine à écrire comme premier essai.
Et je croyais qu'un int décrivait un octet.
*sniff*

> > -Dans strzcat, est-ce que "char *res = dest;" ne risque pas de donner
> > "*res==dest" (pointage prioritaire sur l'assignation) alors que le but
> > serait "res==dest" ?
> Encore un Heuu ? mais qu'est ce que tu nous dis la ?? :) Relis le livre
> de K&R.
Bein je tire ça de là:
http://www.cplusplus.com/doc/tutorial/tut1-3.html "Priority of operators"
Ils ont l'air de dire que la réfèrence est prioritaire par rapport à 
l'assignation...
Mais en fait, je suppose que ça marche parce que "char *res=dest" correspond à 
"char* res=dest" (même si c'était pas clair pour un débutant comme moi).

>Enfin si : le bug potentiel du len<=0 dans strzcpy() est corrige (... a 
>partir de l'article 3 en kiosque, et dans le tarball de l'article 1 qui 
>sera sur le site dès la sortie du numéro 2, ie dans pas bien longtemps).
^_^
Et le fait que "i" et "len" devraient être "unsigned" ?
Ceci dit, je suis pas sûr que quelqu'un aurait eu l'idée d'appeller cette 
fonction avec len=0 ou len>2^16 mais bon... -_^

Bon, et puisque qu'apparement vous me supportez encore, je me permet de 
demander comment marche le return de strcomp:
 return (*(const unsigned char *) s1 - *(const unsigned char *)(s2 - 1));
Est-ce que
 return (*s1)-(*s2);
serait pas plus logique ? (j'ai pas l'impression que ce soit équivalent)

Et pis j'aurais quelques optimisations *vraiment* inutiles à proposer, mais 
j'vais attendre que SOS soit à la version finale pour proposer ce genre de 
choses.
C'est aussi pour montrer qu'il y a des gens qui tentent de suivre le code 
source et qui trouvent ça passionant -_^.

Merci de votre patience;
Brice

-- 
Doute du doute et tu croiras.
Enfin... je crois.


More information about the Sos mailing list