bipcpp
Messages postés40Date d'inscriptionmardi 18 mai 2004StatutMembreDernière intervention 2 mai 2010 18 oct. 2006 à 20:45
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.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 18 oct. 2006 à 02:15
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.
18 oct. 2006 à 20:45
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.
18 oct. 2006 à 02:15
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.