void concatenate_and_print(char sys, char *os, char *cpu_name, char *gpu){ char *uptime = NULL, *kern_name = NULL, *ram_info = NULL, *package_count = NULL; switch(sys){ case 'a': printf("\n"); printf("\x1b[1m . %s\n", os); printf("\x1b[1m / \\ %s\n", get_kernel(kern_name)); printf("\x1b[1m / \\ %s\n", get_uptime(uptime)); printf("\x1b[1m /^. \\ %s\n", get_packages(package_count, sys)); printf("\x1b[1m / .-. \\ %s\n", cpu_name); printf("\x1b[1m / ( ) _\\ %s\n", gpu); printf("\x1b[1m / _.~ ~._^\\ %s\n", get_RAM(ram_info)); printf("\x1b[1m /.^ ^.\\ \n"); printf("\n\n"); break; case 'x': printf("\n"); printf(" /\\ %s\n", os); printf(" / \\ %s\n", get_kernel(kern_name)); printf(" /`'.,\\ %s\n", get_uptime(uptime)); printf(" / ', %s\n", get_packages(package_count, sys)); printf(" / ,`\\ %s\n", cpu_name); printf(" / ,.'`. \\ %s\n", gpu); printf(" /.,'` `'.\\ %s\n", get_RAM(ram_info)); printf("\n\n"); break; case 'd': printf("\n"); printf(" _____ %s\n", os); printf(" / __ \\ %s\n", get_kernel(kern_name)); printf(" | / | %s\n", get_uptime(uptime)); printf(" | \\___- %s\n", get_packages(package_count, sys)); printf(" -_ %s\n", cpu_name); printf(" --_ %s\n", gpu); printf(" %s\n", get_RAM(ram_info)); printf("\n\n"); break; case 'u': printf("\n"); printf(" %s\n", os); printf(" ---(_) %s\n", get_kernel(kern_name)); printf(" _/ --- \\ %s\n", get_uptime(uptime)); printf("(_) | | %s\n", get_packages(package_count, sys)); printf(" \\ --- / %s\n", cpu_name); printf(" ---(_) %s\n", gpu); printf(" %s\n", get_RAM(ram_info)); printf("\n\n"); break; default: printf("\n\n ERROR : Unsupported system\n\n"); exit(EXIT_FAILURE); } free(uptime); free(ram_info); free(kern_name); free(package_count); }