1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
int i = 0;
char *cmd = NULL;
// le getop() du pauvre, avec deux cuillères à café et strtok() //
while ( (cmd = strtok( (i == 0) ? (char*)(argv[0]) : NULL, " "))) {
i++;
while (cmd[0] == '-') cmd++;
switch ( cmd[0] ) {
case 't':
case 'T':
exec[execn++] = US"--test";
break;
case 'L': /* "-L" */
case 'l': /* "--level" */
cmd = strtok(NULL, " ");
if ( ! isdigit(cmd[0]) ) /* l'arg suivant doit être un digit */
break;
exec[execn++] = US"--level";
exec[execn++] = US cmd;
break;
// bla bla bla//
default:
break;
};
if ( i >= 5 ) /* stop avec 5 arguments */
break;
}; |
Partager