#include "bbs.h"
main(int argc, char **argv){
int fd, size;
struct userec utmp;
struct stat st;
char buf[256];
int fd2, size2;
int i, j = 0;
int friendsize, count[21];
for(i = 0; i <= 21; i++)
count[i] = 0;
size = sizeof(struct userec);
size2 = sizeof(struct override);
fd = open(argv[1], O_RDONLY, 0);
while(read(fd, &utmp, size) == size){
if(utmp.userid[0] == '\0')
continue;
sprintf(buf, "%s/home/%c/%s/friends", BBSHOME,
toupper(utmp.userid[0]), utmp.userid);
fd2 = open(buf, O_RDONLY);
if(fd2 == -1){
i = 0;
}
else{
fstat(fd2, &st);
i = st.st_size / size2;
close(fd2);
}
j++;
if(i == 0)
count[0]++;
else if(i < 200)
count[i / 10 + 1]++;
else
count[21]++;
}
close(fd);
printf("0: %d %5.2f%%\n", count[0], (float)count[0] / (float)j * 100);
for(i = 1; i <= 20; i++){
printf("%d~%d: %d %5.2f%%\n", (i - 1) * 10, i * 10 - 1,
count[i], (float)count[i] / (float)j * 100);
}
printf("> 200: %d %5.2f%%\n", count[21], (float)count[21] /
(float)j * 100);
}
--
FROM 162.105.204.159