[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