diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 96 |
1 files changed, 56 insertions, 40 deletions
@@ -73,7 +73,11 @@ int main(int argc, char *argv[]) { #endif int minsize = MIN_SIZE; - if (!display_resolution()) minsize--; + + const char *res = display_resolution(); + if (!res) minsize--; + else free((void *)res); + const char *reset = RESET; size_t ls = logosize <= (size_t)minsize ? (size_t)minsize : logosize; if (issmall) { @@ -84,35 +88,39 @@ int main(int argc, char *argv[]) { ls = ne >= (size_t)minsize ? (size_t)minsize : ne; } - if (display_user_name() || display_user_host()) { + const char *name = display_user_name(); + const char *host = display_user_host(); + if (name || host) { printf("%s ", LOGO[lc]); printf( "%s%s%s@%s%s%s\n", - titlecolor, display_user_name(), reset, - titlecolor, display_user_host(), reset + titlecolor, name, reset, + titlecolor, host, reset ); + if (name) free((void *)name); + if (host) free((void *)host); lc++; - if (display_user_name()) free((void *)display_user_name()); - if (display_user_host()) free((void *)display_user_host()); } printf("%s ", LOGO[lc]); printf("------------------\n"); lc++; - if (display_os()) { + const char *os = display_os(); + if (os) { printf("%s ", LOGO[lc]); - printf("%sOS%s: %s\n", color, reset, display_os()); + printf("%sOS%s: %s\n", color, reset, os); + free((void *)os); lc++; - free((void *)display_os()); } #if defined(__linux__) - if (display_distro()) { + const char *distroo = display_distro(); + if (distroo) { printf("%s ", LOGO[lc]); - printf("%sDistro%s: %s\n", color, reset, display_distro()); + printf("%sDistro%s: %s\n", color, reset, distroo); lc++; - free((void *)display_distro()); + free((void *)distroo); } #endif @@ -122,66 +130,74 @@ int main(int argc, char *argv[]) { printf("\n"); lc++; - if (display_days() || display_time()) { + const char *days = display_days(); + const char *time = display_time(); + if (days || time) { printf("%s ", LOGO[lc]); printf("%s%s%s%s", color, "Uptime", reset, ": "); - if (display_days()) { - printf("%s", display_days()); - if (display_time()) printf(" "); + if (days) { + printf("%s", days); + if (time) printf(" "); } - if (display_time()) { - printf("%s", display_time()); + if (time) { + printf("%s", time); } printf("\n"); + if (days) free((void *)days); + if (time) free((void *)time); lc++; - if (display_days()) free((void *)display_days()); - if (display_time()) free((void *)display_time()); } #if defined(__OpenBSD__) - if (display_recording_audio() || display_recording_video()) { + const char *audio = display_recording_audio(); + const char *video = display_recording_video(); + if (audio || video) { printf("%s ", LOGO[lc]); printf("%sRecording%s: ", color, reset); - if (display_recording_audio()) { - printf("audio = %s", display_recording_audio()); - if (display_recording_video()) printf(", "); + if (audio) { + printf("audio = %s", audio); + if (video) printf(", "); } - if (display_recording_video()) { - printf("video = %s", display_recording_video()); + if (video) { + printf("video = %s", video); } printf("\n"); + if (audio) free((void *)audio); + if (video) free((void *)video); lc++; - if (display_recording_audio()) free((void *)display_recording_audio()); - if (display_recording_video()) free((void *)display_recording_video()); } #endif - if (display_packages()) { + const char *packages = display_packages(); + if (packages) { printf("%s ", LOGO[lc]); - printf("%sPackages%s: %s\n", color, reset, display_packages()); + printf("%sPackages%s: %s\n", color, reset, packages); lc++; - free((void *)display_packages()); + free((void *)packages); } - if (display_resolution()) { + const char *resolution = display_resolution(); + if (resolution) { printf("%s ", LOGO[lc]); - printf("%sResolution%s: %s\n", color, reset, display_resolution()); + printf("%sResolution%s: %s\n", color, reset, resolution); lc++; - free((void *)display_resolution()); + free((void *)resolution); } - if (display_cpu()) { + const char *cpu = display_cpu(); + if (cpu) { printf("%s ", LOGO[lc]); - printf("%sCPU%s: %s\n", color, reset, display_cpu()); + printf("%sCPU%s: %s\n", color, reset, cpu); lc++; - free((void *)display_cpu()); + free((void *)cpu); } - if (display_gpu()) { + const char *gpu = display_gpu(); + if (gpu) { printf("%s ", LOGO[lc]); - printf("%sGPU%s: %s\n", color, reset, display_gpu()); + printf("%sGPU%s: %s\n", color, reset, gpu); lc++; - free((void *)display_gpu()); + free((void *)gpu); } printf("%s ", LOGO[lc]); |