How and what could be improved in this code?
by dminican_slax from LinuxQuestions.org on (#56G6B)
I made this sometime ago now, I use slackware, I know I could do this with a script but I wanted to practice C so my goal was to practice the use of system() making a little tool to get info and free HD space I'd like to implement some kind of automation in future versions but I'm neither a professional dev or sysadmin.
Tell me what you guys think
Code:#include <stdio.h>
#include <stdlib.h>
#include <sys/errno.h>
int main()
{
char lttr[2];
puts("|************************************************************|");
puts("|* simple system info and cleaning tool *|");
puts("|* choose the actions from the list *|");
puts("-************************************************************-");
puts("* Use \"a\" for system info or \"x\" for extra info *");
puts("* Use \"b\" for system cleaning *");
puts("* Use \"c\" to free some disk space *");
puts("**************************************************************");
lttr = getchar();
if (lttr <= 0 || lttr >= 0)
{
puts("Use a,b,c or x\n");
exit(1);
}
switch(lttr)
{
case 'a':
case 'A':
puts("System info...\n");
puts("linux distro/kernel info:\n");
system("uname -a");
puts("logged users:\n");
system("w");
puts("system uptime\n");
system("uptime");
break;
case 'x':
case 'X':
printf("Home directory:\n");
system("echo ~");
printf("Last logged users:\n");
system("last");
printf("Asigned shell:\n");
system("echo $SHELL");
printf("All user directories:\n");
system("echo $userdirs");
puts("That's all!");
exit(EXIT_SUCCESS);
break;
case 'b':
case 'B':
puts("cleaning /tmp\n");
system("rm -rf /tmp/*");
puts("cleaning system logs\n");
system("cd /var/log&&cat /dev/null > message&&cat /dev/null > wtmp");
break;
case 'c':
case 'C':
puts("deleting some unused files...");
system("rm -rf ~/.thumbnails/large/*");
system("rm -rf ~/.thumbnails/normal/*");
exit(EXIT_SUCCESS);
}
return 0;
}
Greetings :)


Tell me what you guys think
Code:#include <stdio.h>
#include <stdlib.h>
#include <sys/errno.h>
int main()
{
char lttr[2];
puts("|************************************************************|");
puts("|* simple system info and cleaning tool *|");
puts("|* choose the actions from the list *|");
puts("-************************************************************-");
puts("* Use \"a\" for system info or \"x\" for extra info *");
puts("* Use \"b\" for system cleaning *");
puts("* Use \"c\" to free some disk space *");
puts("**************************************************************");
lttr = getchar();
if (lttr <= 0 || lttr >= 0)
{
puts("Use a,b,c or x\n");
exit(1);
}
switch(lttr)
{
case 'a':
case 'A':
puts("System info...\n");
puts("linux distro/kernel info:\n");
system("uname -a");
puts("logged users:\n");
system("w");
puts("system uptime\n");
system("uptime");
break;
case 'x':
case 'X':
printf("Home directory:\n");
system("echo ~");
printf("Last logged users:\n");
system("last");
printf("Asigned shell:\n");
system("echo $SHELL");
printf("All user directories:\n");
system("echo $userdirs");
puts("That's all!");
exit(EXIT_SUCCESS);
break;
case 'b':
case 'B':
puts("cleaning /tmp\n");
system("rm -rf /tmp/*");
puts("cleaning system logs\n");
system("cd /var/log&&cat /dev/null > message&&cat /dev/null > wtmp");
break;
case 'c':
case 'C':
puts("deleting some unused files...");
system("rm -rf ~/.thumbnails/large/*");
system("rm -rf ~/.thumbnails/normal/*");
exit(EXIT_SUCCESS);
}
return 0;
}
Greetings :)