Modification fonctions parse et tok_space
This commit is contained in:
parent
d11457ec63
commit
745a5d753d
3 changed files with 7 additions and 23 deletions
|
@ -41,22 +41,7 @@ char* get_input()
|
||||||
void parse_char(char *args[], char find)
|
void parse_char(char *args[], char find)
|
||||||
{
|
{
|
||||||
char *user_input = get_input();
|
char *user_input = get_input();
|
||||||
char *token = strtok(user_input, &find);
|
tok_space(user_input, args, find);
|
||||||
|
|
||||||
int i = 0;
|
|
||||||
while (token != NULL && i < MAX_LENGTH)
|
|
||||||
{
|
|
||||||
strcpy(args[i], token);
|
|
||||||
i++;
|
|
||||||
token = strtok(NULL, &find);
|
|
||||||
}
|
|
||||||
|
|
||||||
// le dernier argument doit être NULL
|
|
||||||
// car il est vide et provoque une erreur si non NULL
|
|
||||||
free(args[i]);
|
|
||||||
args[i] = NULL;
|
|
||||||
|
|
||||||
free(token);
|
|
||||||
free(user_input);
|
free(user_input);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,14 +49,13 @@ void parse_char(char *args[], char find)
|
||||||
* tok_space(): Découpe la chaine orig et met chaque mot dans le tableau dest
|
* tok_space(): Découpe la chaine orig et met chaque mot dans le tableau dest
|
||||||
* @orig: chaine à découper
|
* @orig: chaine à découper
|
||||||
* @dest: tableau de string où sera stocker les mots
|
* @dest: tableau de string où sera stocker les mots
|
||||||
|
* @find: caractère à utilise pour parser la chaine orig
|
||||||
*
|
*
|
||||||
* La chaine de caractères orig est découper avec les espaces et chaques
|
* La chaine de caractères orig est découpée selon le caractère find
|
||||||
* mots sont mis dans le tableau dest.
|
* et chaques mots sont mis dans le tableau dest.
|
||||||
*/
|
*/
|
||||||
void tok_space(char *orig, char *dest[])
|
void tok_space(char *orig, char *dest[], char find)
|
||||||
{
|
{
|
||||||
char find = ' ';
|
|
||||||
|
|
||||||
char *token = strtok(orig, &find);
|
char *token = strtok(orig, &find);
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
|
@ -12,6 +12,6 @@
|
||||||
|
|
||||||
char* get_input();
|
char* get_input();
|
||||||
void parse_char(char *args[], char find);
|
void parse_char(char *args[], char find);
|
||||||
void tok_space(char *args,char *commands[]);
|
void tok_space(char *args,char *commands[], char find);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -39,7 +39,7 @@ int main()
|
||||||
pid = fork();
|
pid = fork();
|
||||||
if (!pid)
|
if (!pid)
|
||||||
{
|
{
|
||||||
tok_space(args[index], command);
|
tok_space(args[index], command, ' ');
|
||||||
if (args[1] != NULL)
|
if (args[1] != NULL)
|
||||||
{
|
{
|
||||||
if (args[index+1] == NULL)
|
if (args[index+1] == NULL)
|
||||||
|
|
Loading…
Reference in a new issue