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

SCR/AL1 - TOME III. Les librairies utilitaires

2. Le groupe s_args

Le groupe de fonctions s_args a été construite à deux fins essentielles :

Les fonctions du groupe se divisent en trois classes : la première ne contient que les fonctions de base, qui remplacent une liste de paramètres par une nouvelle liste, complétée par la lecture éventuelle du directory ou le remplacement de macros.

La seconde classe de fonctions nécessite la définition par l'utilisateur d'une structure de description des arguments du programme (ADEF).

La troisième classe contient les fonctions modifiables : la fonction d'erreur et les fonctions de substitution des macros.

Fonctions de base

Fonctions utilisant la structure ADEF

Fonctions modifiables par l'utilisateur

Fonctions utilitaires

La structure ADEF

La structure ADEF est définie comme suit :

  char    *a_arg;      /* Argument */
char *a_args; /* Paramètres (texte libre, 9 car.) */
char *a_desc; /* Description (texte libre, 15 car.) */
int a_req, /* Requis (1) ou non (0) */
a_min, /* Nombre min de paramètres */
a_max; /* Nombre max de paramètres */
int (*a_check)(); /* Fonction de vérification (A_check) */
int (*a_exec)(); /* Fonction d'exécution (A_exec) */
char *a_dft; /* Valeur par défaut */

Exemple

    ADEF adef[3] = {
{"-l", "file ...", "filenames", 1, 1, 100,
A_check_exist, printfiles, NULL},
{"-pr", "printer", "printer name", 0, 1, 1,
NULL, setprinter, "prn"},
{NULL, 0, 0, 0, 0, NULL, NULL, NULL}
};

Cette structure n'est utilisée que par les fonctions A_check(), A_exec() et A_usage().

2.1 A_init (file s_ainit.c:64)

2.2 A_initv (file s_ainit.c:99)

2.3 A_free (file s_ainit.c:342)

2.4 A_find (file s_ainit.c:363)

2.5 A_nb (file s_ainit.c:410)

2.6 A_help (file s_ainit.c:454)

2.7 A_check (file s_acheck.c:115)

2.8 A_exec (file s_aexec.c:33)

2.9 A_usage (file s_ausage.c:15)

2.10 A_error (file s_aerr.c:25)

2.11 A_iexpand (file s_aiexp.c:13)

2.12 A_expand (file s_aexp.c:34)

2.13 A_expandstar (file s_aexps.c:37)

2.14 A_check_int (file s_achkin.c:11)

2.15 A_check_access (file s_achkac.c:15)

2.16 A_to_be_exp (file s_ainit.c:242)

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