return 0;
}
-static void mount_check_mount_list(void)
+static void mount_update_mount_list(void)
{
FILE *fp = fopen("/proc/mounts", "r");
char tmp[256];
while(fgets(tmp, 256, fp) != NULL)
{
char *t, *t2;
+
+ if (mounted_count + 1 > MAX_MOUNTED) {
+ log_printf("found more than %d mounts \n", MAX_MOUNTED);
+ break;
+ }
+
t = strstr(tmp, " ");
if(t)
{
mounted[mounted_count][0],
mounted[mounted_count][1],
mounted[mounted_count][2]);*/
- if(mounted_count < MAX_MOUNTED - 1)
- mounted_count++;
- else
- log_printf("found more than %d mounts \n", MAX_MOUNTED);
+
+ mounted_count++;
}
fclose(fp);
}
void mount_init(void)
{
INIT_LIST_HEAD(&mounts);
- timer_add(mount_check_mount_list, 2);
+ timer_add(mount_update_mount_list, 2);
timer_add(mount_check_enum, 1);
- mount_check_mount_list();
+ mount_update_mount_list();
}