Fixed crash

pull/62/head
parent eba064c089
commit 224c227813

@ -673,33 +673,6 @@ char *yon_char_replace(char *source, char *find, char*replace){
return source; return source;
} }
/**yon_char_parse(char *parameters, int *size, char *divider)
* [EN]
* Parses string [parameters], divided by [divider],
* then returns parsed string array and sets [size] to
* size of returned array
*/
// char **yon_char_parse(char *parameters, int *size, char *divider){
// char **string=NULL;
// int i=1;
// string=malloc(sizeof(char*));
// char *paramline=yon_char_new(parameters);
// char *param;
// while ((param=yon_char_divide_search(paramline,divider,1))){
// string=realloc(string,sizeof(char*)*i);
// string[i-1]=yon_char_new(param);
// i++;
// if (strcmp(param,paramline)==0) break;
// }
// // string=realloc(string,sizeof(char*)*i);
// // string[i-1]=yon_char_new(paramline);
// // i++;
// // printf("%d\n",i);
// *size=i-1;
// return string;
// }
/**yon_char_parse(char *parameters, int *size, char *divider) /**yon_char_parse(char *parameters, int *size, char *divider)
* [EN] * [EN]
* Parses string [parameters], divided by [divider], * Parses string [parameters], divided by [divider],
@ -707,19 +680,22 @@ char *yon_char_replace(char *source, char *find, char*replace){
* size of returned array * size of returned array
*/ */
char **yon_char_parse(char *parameters, int *size, char *divider){ char **yon_char_parse(char *parameters, int *size, char *divider){
char **string=NULL; if (parameters){
*size=0; char **string=NULL;
char *paramline=yon_char_new(parameters); *size=0;
char *param = strstr(paramline,divider); char *paramline=yon_char_new(parameters);
for (;param;param=strstr(paramline,divider)){ char *param = strstr(paramline,divider);
string = yon_remalloc(string,sizeof(char*)*((*size)+1)); for (;param;param=strstr(paramline,divider)){
string[(*size)]=yon_char_divide(paramline,strlen(paramline)-strlen(param)); string = yon_remalloc(string,sizeof(char*)*((*size)+1));
*size=(*size)+1; string[(*size)]=yon_char_divide(paramline,strlen(paramline)-strlen(param));
*size=(*size)+1;
}
string = yon_remalloc(string,sizeof(char*)*((*size)+1));
string[(*size)]=paramline;
(*size)+=1;
return string;
} }
string = yon_remalloc(string,sizeof(char*)*((*size)+1)); return NULL;
string[(*size)]=paramline;
(*size)+=1;
return string;
} }
/**yon_char_parsed_rip(char **char_string, int *size, int item_to_delete) /**yon_char_parsed_rip(char **char_string, int *size, int item_to_delete)
@ -777,13 +753,15 @@ int yon_char_parsed_check_exist(char **parameters, int size, char *param){
* повторения * повторения
*/ */
int yon_char_parsed_check_repeats(char **parameters, int size, int *first_overlap, int *second_overlap){ int yon_char_parsed_check_repeats(char **parameters, int size, int *first_overlap, int *second_overlap){
*first_overlap=0; if (parameters){
*second_overlap=0; *first_overlap=0;
for ((*first_overlap)=0;(*first_overlap)<size;(*first_overlap)++){ *second_overlap=0;
for ((*second_overlap)=0;(*second_overlap)<size;(*second_overlap)++){ for ((*first_overlap)=0;(*first_overlap)<size;(*first_overlap)++){
if (parameters[(*first_overlap)]&&parameters[(*second_overlap)]){ for ((*second_overlap)=0;(*second_overlap)<size;(*second_overlap)++){
if (!strcmp(parameters[(*first_overlap)],parameters[(*second_overlap)])&&(*first_overlap)!=(*second_overlap)) if (parameters[(*first_overlap)]&&parameters[(*second_overlap)]){
return 1; if (!strcmp(parameters[(*first_overlap)],parameters[(*second_overlap)])&&(*first_overlap)!=(*second_overlap))
return 1;
}
} }
} }
} }

Loading…
Cancel
Save