Non non je ne parle pas de Debian dans ce mail, seulement de programmation shell.
J'ai mis en pratique (avec succès) les modifs que j'avais indiquées dans mes précédents mails. J'envoie avec ce mail les deux fichiers concernés, à savoir : eagleconfig et eu_config_bash.
Le but de ces corrections est essentiellement de simplifier certaines parties du code en utilisant quelques astuces du shell (ce n'est pas du debug puisque ça marche).
Les ++ : - le code est plus court, donc plus facile à relire ;- la transmission des paramètres entre eu_config_bash et eagleconfig est plus générique, il sera plus facile de rajouter des variables ; - il est possible d'utiliser un espace dans la valeur d'un paramètre transmis par eu_config_bash à eagleconfig ;
- l'utilisation de exec permet l'économie de deux processus. Les -- : - Testé que par moi ; - Un peu de travail pour Tux (cf. la ligne précédente).Bien sûr j'ai mis à jour la page ?wiki=IntDebianFr où j'avais résumé ces propositions.
---------------------------------------------- Quelques explications : 1/ execL'appel à eagleconfig sans argument, déclenche l'appel à eu_config_bash (il pose des questions à l'utilisateur), qui lui même appelle une seconde instance de eagleconfig qui réalise les modifications... A ce moment là nous avons trois processus, et les deux premiers attendent et ne feront rien au retour de leur fils.
2/ Gestion des options longues par eagleconfig et eu_config_bashUtilisation de "$@" à la place de $* pour gérer correctement les paramètres positionnels contenant des espaces.
3/ Traitement de LSTOPTIONS par eagleconfigUtilisation de l'IFS pour que "|" soit temporairement le séparateur à la place de l'espace. Donc j'interdis les "|" dans les valeurs des paramètres de LSTOPTIONS (c'était déjà le cas avant) et j'autorise les espaces. Cette astuce me permet en plus de factoriser les codes identiques : je fais un case avec trois cas :
- la langue : un appel à setString - VPI, VCI, LINETYPE, ... : si modification alors SEND_DSP_NEEDED=1 - les autres : simple affectation. Cyril. _________________________________________________________________Recevez par e-mail des émoticônes pour MSN Messenger http://g.msn.fr/FR1001/2275?url=http://www.msn.fr/ilovemessenger/premium/Default.asp?Ath=f
eagleconfig.new
Description: Binary data
eu_config_bash.new
Description: Binary data
