//in main function char *str_out=NULL; read_smart_attr(device_list[i].name,attr_list, str_out); printf("test: %s", str_out); //read_smart_attr function void read_smart_attr(char * device, int *attr_list, char *str_out) { //skipped lines... asprintf(&str_out, "%s: %d,%d - ", attributename, (int)disk->current, (int)disk->worst); printf("inside: %s", str_out); return; }