Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME IV. Les librairies internes

4. Fonctions internes : syntaxe

4.1 scr4o : syntax of functions

4.1.14 ISC_dir_ex_fn (file s_dbcgnl.c:1708)

Syntax

SCRSTAT **ISC_dir_ex_fn(char *path, int add_dir, char *dir, char *filename, int crc, int *fn())

Description

Retourne une table de pointeurs vers des structures SCRSTAT correspondant aux spécifications données dans path (par ex. *c*). Les noms sont classés par ordre alphabétique, mais les directories sont tous placés au début. La table est terminée par un pointeur nul.

Si path est préfixé par un nom d'hôte suivi d'une porte, suivi du séparateur ! en DOS, @@ en Unix, l'opération est effectuée via le serveur s4issrv (scr4_iss en Linux) tournant sur l'hôte.

Par exemple :

        192.168.2.1:6000!c:\usr\*.c

pour opérer sur le fichier distant sur la machine 192.168.2.1 sur laquelle s4issrv est lancé sur la porte 6000.

S'il n'y a pas de nom de machine, l'opération a lieu sur la machine locale.

Le paramètre add_dir indique la sélection à effectuer sur les directory :

Les variables dir et filename contiennent en output le nom absolu du directory scanné et le masque de recherche. Elles doivent avoir une taille suffisante.

La valeur de crc détermine le fait de calculer ou non le crc32 de chaque fichier (voir SCR_stat_ex()).

La table est alloué à l'aide de SCR_add_ptr(). L'espace occupé est libéré par SCR_free_tbl().

Exemple

    SCRSTAT     **ss;
int i;
char dir[SCR_FILE_LG + 1];
char file[SCR_FILE_LG + 1];

ss = ISC_dir("c*c", 0, dir, file);
if(ss == 0) return;
printf("Directory of %s\n", dir);
for(i = 0 ; ss[i] ; i++)
printf("Name : %s - crc32 : %u\n", ss[i]->ss_name, ss[i]->ssx_crc32);
SCR_free_tbl(ss);

Valeur retournée

une table de SCRSTAT * contenant les fichiers sélectionnés et terminé par un pointeur nul. Si aucun fichier n'est trouvé, retourne NULL

Voir également

SCR_dir_ex(), ISC_dir(), SCR_dir()

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be