bonsoir à tous,

J'ai besoin de votre aide pour comparer les deux chaines de caractères suivantes

char *chaine1 = "Ganon!user@192.168.1.3";
char *chaine2 = "*!*@192.*";
le problème ici ce sont les wildcards, j'ai regardé un peu du coté de la bibliotèque <regex.h> et j'ai pondu ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
static int match_regexp(char *s1, char *s2)
{
	regex_t myreg;
 
	if (regcomp(&myreg, s1, REG_ICASE|REG_NOSUB|REG_EXTENDED) != 0)
		return 0;
 
	if (regexec(&myreg, s2, 0, NULL, 0) != 0)
		return 0;
 
	regfree(&myreg);
	return 1;
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
	if (!match_regexp(chaine1, chaine2))
		return irc_notice(client->nick, "Les masques ne correspondent pas.");
résultat, il n'y as pas concordance alors que ca devrait !
surement une mauvaise utilisation de la bibliotèque de ma part
merci à vous et bonne soirée.