/* 25/10/87 : Jacques Gelinas Set une variable environnement en trichant avec command.com */ #include #include #include #include "tool.h" static int nocall=0; /* Retourne le nombre d'appel ont ete fait Cela permet de savoir entre autre si quelqu'un a perturber l'ecran depuis sans avertir curses */ export int command_nbcall (void) { return (nocall); } /* Execute une commande de UNIX a partir du shell. Augmente la variable nocall (voir command_nbcall()). */ export int command_exec (const char *cmd) { int ret; nocall++; ret = system(cmd); return (ret); } /* Execute une commande de DOS a partir de commande.com Le programme en execution ne peut toutefois pas provenir d'un batch file. Command.com n'est pas reentrant */ export int command_fastexec (const char *cmd) { return command_exec(cmd); } #ifdef TEST static void exec (char *line) { printf ("EXEC %s\n",line); printf ("---> %d\n",command_exec (line)); printf ("---> %d\n",command_fastexec (line)); } main () { exec ("dir *.asm"); exec ("dir *.c"); } #endif