/*
Concatène plusieurs chaînes de caractères passées
en paramètre de la fonction vers dest.
Le dernier paramètre DOIT être un 0 pour indiquer à la
fonction de ne pas essayer de continuer plus loin.
Exemple d'utilisation:
char dest[256];
char test1[] = "Bonjour les amis. ";
char test2[] = "Comment allez vous? ";
multistrcat(dest, test1, test2, "Bien?", 0);
dest contiendra:
"Bonjour les amis. Comment allez vous? Bien?"
*/
char *multistrcat (char *dest, ...)
{
va_list ap;
if(!dest) return 0; // <- À retirer dans un code sûr
va_start(ap, dest);
while(1) {
char *c = va_arg(ap, char*);
if(!c) break;
if(!*c) continue; // <- À retirer dans un code sûr
do *dest++ = *c++; while(*c);
}
va_end(ap);
*dest = 0;
return dest; // Retour sur 0 de fin de chaîne
}