PLANSCAN : SCANNEUR DE FICHIER ET CONFIGURATION PC

Signaler
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Messages postés
40
Date d'inscription
mardi 18 mai 2004
Statut
Membre
Dernière intervention
2 mai 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39950-planscan-scanneur-de-fichier-et-configuration-pc

Messages postés
40
Date d'inscription
mardi 18 mai 2004
Statut
Membre
Dernière intervention
2 mai 2010

Bonsoir BruNews,

Merci d'avoir passé quelques instants à regarder mon code.

J'intègrerai tes remarques dans la prochaine mise à jour.
C'est toujours un plus de gagner en rapidité, tout en conservant la sécurité.

Continue à nous faire profiter de tes connaissances et de ta courtoisie.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
strncpy (cMacAdress, "000000000000", 12);
La version 'N' de strcpy sert à quoi ici ???

void CharConcat (char *cOutput, char *cConcat, int iOutputSize)
{
int iSize;
iSize = strlen (cOutput) + strlen(cConcat) + 1;
if (iSize <= iOutputSize)
strncat(cOutput, cConcat, strlen(cConcat) + 1);
}
Tu es certain d'avoir parcouru cConcat suffisamment ???

void CharConcat (char *cOutput, char *cConcat, int iOutputSize)
{
int iSize, srclen;
srclen = strlen (cConcat);
iSize = strlen(cOutput) + srclen + 1;
if (iSize <= iOutputSize)
strncat(cOutput, cConcat, srclen + 1);
}
N'allait pas aussi bien ??? (c'est peu dire).
Encore que strNcat... verif deja faite avant, strcat faisait idem en plus court.

Pour finir, la même que la tienne en conservant le même controle mais avec 1 seul parcours de chaque chaine:
void CharConcat (char *cOutput, char *cConcat, int iOutputSize)
{
int iSize, srclen;
srclen = strlen (cConcat);
iSize = strlen(cOutput);
cOutput += iSize; // OUST strcat, 1 SEUL PARCOURS
if((iSize + srclen + 1) <= iOutputSize) strcpy(cOutput, cConcat);
}

Je suis au courant que dans certaines boites, il faut que ce soit mal codé pour faire 'sécurisé'.
Par contre, quand on n'a plus l'oeil du chef par dessus son épaule, il faut tout de même garder l'habitude de coder correctement.