Hopefully getting debian-based-distro package count
This commit is contained in:
parent
b0a3cd2000
commit
17cd2020c4
47
fetchy.c
47
fetchy.c
|
@ -11,7 +11,7 @@
|
|||
void truncate_spaces_leading(char *str);
|
||||
void truncate_spaces_trailing(char *str);
|
||||
void read_line(char x);
|
||||
int count_files(char *path);
|
||||
static int count_files(DIR *package_dir);
|
||||
|
||||
|
||||
static char *get_sys(char *sys, char *os_name);
|
||||
|
@ -58,7 +58,7 @@ int main(int argc, char *argv[]){
|
|||
fprintf(FCache, "GPU : %s\n", get_gpu(gpu));
|
||||
fclose(FCache);
|
||||
|
||||
printf("\n\n\aFILE CACHING DONE!! \n\nValues returned : \nCPU -> %s\nGPU -> %s\n\n Caching occurs only once, every subsequent execution will run program normally. Enjoy!\n\n", get_cpu(cpu_name), get_gpu(gpu));
|
||||
printf("\n\aFILE CACHING DONE!! \n\nValues returned : \nCPU -> %s\nGPU -> %s\n\n Caching occurs only once, every subsequent execution will run program normally. Enjoy!\n\n", get_cpu(cpu_name), get_gpu(gpu));
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
@ -92,7 +92,7 @@ int main(int argc, char *argv[]){
|
|||
printf("\x1b[1m .-. \x1b[36mOS\x1b[0m -> %s\n", os);
|
||||
printf("\x1b[1m .-'``(|||) \x1b[36mKERNEL\x1b[0m -> %s\n", get_kernel(kern_name));
|
||||
printf("\x1b[1m ,`\\ \\ `-`. \x1b[36mUPTIME\x1b[0m -> %s\n", get_uptime(uptime));
|
||||
printf("\x1b[1m / \\ '``-. ` \x1b[36mPACKAGES\x1b[0m -> *W.I.P.*\n"); //%d\n", get_packages(sys));
|
||||
printf("\x1b[1m / \\ '``-. ` \x1b[36mPACKAGES\x1b[0m -> %s\n", get_packages(sys)); //%d\n", get_packages(sys));
|
||||
printf("\x1b[1m .-. , `___: \x1b[36m\x1b[0m \n");
|
||||
printf("\x1b[1m (:::) : ___ \x1b[36mCPU\x1b[0m -> %s\n", cpu_name);
|
||||
printf("\x1b[1m `-` ` , : \x1b[36mGPU\x1b[0m -> %s\n", gpu);
|
||||
|
@ -164,6 +164,23 @@ void truncate_spaces_trailing(char *str){
|
|||
}
|
||||
|
||||
|
||||
static int count_files(DIR *package_dir){
|
||||
|
||||
struct dirent * entry;
|
||||
int file_count = 0;
|
||||
|
||||
while ((entry = readdir(package_dir)) != NULL) {
|
||||
if (entry->d_type == DT_DIR) {
|
||||
file_count++;
|
||||
}
|
||||
}
|
||||
closedir(package_dir);
|
||||
|
||||
return file_count;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static char *get_sys(char *sys, char *os_name){
|
||||
os_name = malloc(BUF_SIZE);
|
||||
char *name = malloc(BUF_SIZE);
|
||||
|
@ -255,34 +272,22 @@ static char *get_uptime(char *uptime){
|
|||
|
||||
static int get_packages(char sys){
|
||||
|
||||
DIR *packageDir;
|
||||
int fileCount = 0;
|
||||
struct dirent * entry;
|
||||
//DIR *package_dir;
|
||||
int pkg_count = 0;
|
||||
|
||||
|
||||
switch (sys){
|
||||
case 'a':
|
||||
packageDir = opendir("/var/lib/pacman/local");
|
||||
pkg_count = count_files(opendir("/var/lib/pacman/local"));
|
||||
break;
|
||||
case 'u':
|
||||
|
||||
pkg_count = count_files(opendir("/usr/bin")) + count_files(opendir("/sbin"));
|
||||
break;
|
||||
default:
|
||||
printf("\n\n\aUnable to find package list\n\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
while ((entry = readdir(packageDir)) != NULL) {
|
||||
if (entry->d_type == DT_DIR) {
|
||||
fileCount++;
|
||||
}
|
||||
}
|
||||
closedir(packageDir);
|
||||
|
||||
|
||||
|
||||
return fileCount;
|
||||
|
||||
return pkg_count;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue