func: void *toCaps(void *data) struct stonesoup_data * stonesoupData = data ; int i ; for(i = 0; i < stonesoupData->data_size; i++) if ( stonesoupData -> data [ i ] >= 'a' && stonesoupData -> data [ i ] <= 'z' )  stonesoupData -> data [ i ] -= 'a' - 'A'; arrFunc ( stonesoupData ); void arrFunc (struct stonesoup_data *stonesoupData) int * stonesoup_arr = malloc ( sizeof ( int ) * stonesoupData -> qsize ) ; stonesoup_arr [ stonesoup_j ] = stonesoupData -> qsize - stonesoup_j; qsort ( stonesoup_arr , stonesoupData -> qsize , sizeof ( int ) , & stonesoup_comp ); free ( stonesoup_arr ); 