2 #include "parameters.h"
4 /***********************************************************************************/
5 /*** FUNCTIONS USED FOR PARSING PARAMETERS FROM COMMAND LINE ***********************/
6 /* Three function to variables to manage parameters */
7 bool is_delimeter(char *delimiters, char c) {
8 int i=0,len_delimiters=strlen(delimiters);
10 for (i=0;i<len_delimiters;i++)
11 if (c == delimiters[i]) is=true;
16 void parse_parameters(char *options, int *num_parameters, char ***parameters, char *delimiters) {
17 int i=0,j=0,temp=0,num=0, len_options=strlen(options);
19 while (i<len_options) {
20 while ((i<len_options) && is_delimeter(delimiters,options[i])) i++;
22 while ((i<len_options) && !is_delimeter(delimiters,options[i])) i++;
25 (*parameters) = (char **) malloc(num*sizeof(char * ));
27 while (i<len_options) {
28 while ((i<len_options) && is_delimeter(delimiters,options[i])) i++;
30 while ((i<len_options) && !is_delimeter(delimiters,options[i])) i++;
32 (*parameters)[j]=(char *) malloc((i-temp+1)*sizeof(char));
33 options_temp = options+temp;
34 strncpy((*parameters)[j], options_temp, i-temp);
35 ((*parameters)[j])[i-temp] = '\0';
39 *num_parameters = num;
42 void free_parameters(int num_parameters,char ***parameters) {
44 for (i=0; i<num_parameters;i++)
45 free((*parameters)[i]);