@@ -43,19 +43,29 @@ int manage_arguments(int argc,char** argv,linked_list_string* my_arguments){
4343 print_linked_list_string (my_arguments );
4444 return 1 ;
4545 }
46+ int argument_number_with_parameter = 0 ;
4647 node_string * tmp = my_arguments -> head ;
4748 for (int i = 0 ;i < (my_arguments -> len );i ++ ){
4849 for (int j = 0 ;j < argc ;j ++ ){
4950 //printf("--> %s\n",argv[i]+2);
50- if (str_cmp ((argv [j ])+ 2 ,tmp -> self )== 1 ){
51+ if (( str_cmp ((argv [j ])+ 2 ,tmp -> self )== 1 ) || ( str_cmp (( argv [ j ]) + 1 , tmp -> short_self ) == 1 ) ){
5152 //printf("--> %s\n",(argv[j])+2);
5253 tmp -> index = j ;
5354 tmp -> status = True ;
55+ if ((tmp -> type == INT ) || tmp -> type == CHAR )
56+ argument_number_with_parameter = argument_number_with_parameter + 2 ;
57+ else
58+ argument_number_with_parameter = argument_number_with_parameter + 1 ;
5459 //printf("hell yeah\n");
5560 }
5661 }
5762 tmp = tmp -> next ;
5863 }
64+ if (argc != (argument_number_with_parameter + 1 )){
65+ printf ("\t some arguments need paramaters \n" );
66+ print_linked_list_string (my_arguments );
67+ return 1 ;
68+ }
5969 tmp = my_arguments -> head ;
6070 for (int i = 0 ;i < my_arguments -> len ;i ++ ){
6171 if (tmp -> required == 1 ){
@@ -73,15 +83,18 @@ int manage_arguments(int argc,char** argv,linked_list_string* my_arguments){
7383 //printf("index : %d \n",tmp->index);
7484 if (((tmp -> index ) != 0 ) && ((tmp -> data_fullness ) == 4 )){
7585 if (tmp -> type == INT ){
76- (* (tmp -> action_int ))(((string_to_int (argv [(tmp -> index )+ 1 ]))));
86+ (* (tmp -> action_int ))(((string_to_int (argv [(tmp -> index )+ 1 ]))));
87+ tmp -> int_value = string_to_int (argv [(tmp -> index )+ 1 ]);
7788 //printf("hooyah : %s\n",(argv[(tmp->index)+1]));
7889 }
7990 if (tmp -> type == CHAR ){
80- (* (tmp -> action_char ))(argv [(tmp -> index )+ 1 ]);
91+ (* (tmp -> action_char ))(argv [(tmp -> index )+ 1 ]);
92+ tmp -> string = argv [(tmp -> index )+ 1 ];
8193 //printf("hooyah : %s\n",(argv[(tmp->index)+1]));
8294 }
8395 if (tmp -> type == BOOL ){
84- (* (tmp -> action_bool ))();
96+ (* (tmp -> action_bool ))();
97+ tmp -> bool_value = True ;
8598 //printf("hooyah :\n");
8699 }
87100 }
0 commit comments