[Linux-bruxelles] implémentation de stat64
Frederic Peters
fpeters at entrouvert.com
Mar 15 Avr 23:27:12 CEST 2008
Jean-Marc écrivait :
> Y a-t-il des codeurs C dans la salle (virtuelle) ?
> Et si oui, peuvent-elles-t-ils me dire si l'appel à stat64 construit
> comme cela est correct :
> - ---
> stat64("/usr/lib/cgi-bin/, /usr/lib/cgi-bin/test-perl.pl", 0xbff46288)
stat64 s'utilise à la manière de stat, dont la page de manuel nou
renseigne sur le prototype :
int stat(const char *path, struct stat *buf);
Une fois n'est pas coutume, cette même page contient un exemple
d'utilisation de la fonction.
Sur l'appel que tu rapportes, j'écrirai deux choses :
- le premier paramètre, il doit contenir un chemin, pas deux séparés
par une virgule et un espace;
- le second paramètre, il doit contenir un pointeur vers une
structure (struct stat), certes 0xbff46288 pointe peut-être vers
une telle structure, mais ce n'est pas clair.
Un petit programme d'illustration pour la route :
#include <stdio.h>
#include <sys/stat.h>
int
main(int argc, char *argv[])
{
struct stat sb;
if (argc != 2) {
fprintf(stderr, "Missing filename as argument\n");
return 1;
}
if (stat(argv[1], &sb) != 0) {
perror("error");
return 1;
}
printf("%s has a size of %lld bytes.\n", argv[1], (long long)sb.st_size);
return 0;
}
Frédéric
Plus d'informations sur la liste de diffusion Linux-bruxelles