declaration de fonction bizarre
bonjour
Dans la lib regex (GNU C lib), j'ai cette fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
static int
bcmp_translate (s1, s2, len, translate)
unsigned char *s1, *s2;
register int len;
char *translate;
{
register unsigned char *p1 = s1, *p2 = s2;
while (len)
{
if (translate[*p1++] != translate[*p2++]) return 1;
len--;
}
return 0;
} |
- Comment se fait-il qu'il n'y ai pas de type pour les variables : s1, s2, len, translate ?
- Le code que j'ai mis en rouge, ce n'est pas normal n'est-ce pas ?
=> comment ils ont fait alors pour compiler le code ?
ça ne serait pas plutôt ça qu'il faudrait faire ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
static int
bcmp_translate (unsigned char *s1, unsigned char *s2, register int len, char *translate)
{
register unsigned char *p1 = s1, *p2 = s2;
while (len)
{
if (translate[*p1++] != translate[*p2++]) return 1;
len--;
}
return 0;
} |