int mount_new(char *path, char *dev);
-struct list_head mounts;
+static struct list_head mounts;
struct mount {
struct list_head list;
int fs;
};
-char *fs_names[] = {
+static char *fs_names[] = {
"",
"",
"mbr",
#define MAX_MOUNTED 32
#define MAX_MOUNT_NAME 32
-char mounted[MAX_MOUNTED][3][MAX_MOUNT_NAME];
-int mounted_count = 0;
+static char mounted[MAX_MOUNTED][3][MAX_MOUNT_NAME];
+static int mounted_count = 0;
extern char uci_path[32];
static void mount_dump_uci_state(void)
mount->mounted = 0;
mount->fs = fs;
list_add(&mount->list, &mounts);
- if((!mount->ignore) && (mount->fs > MBR) && (mount->fs <= LASTFS))
+ if (!mount->ignore)
{
log_printf("new mount : %s -> %s (%s)\n", name, dev, fs_names[mount->fs]);
snprintf(tmp, 64, "%s%s", uci_path, name);
if(!fp)
{
log_printf("error reading /proc/mounts");
- fclose(fp);
return avail;
}
- while((fgets(tmp, 256, fp) > 0) && (avail == -1))
+ while((fgets(tmp, 256, fp) != NULL) && (avail == -1))
{
char *t;
char tmp2[32];
fp = fopen(tmp2, "r");
if(fp)
{
- while(fgets(tmp2, 64, fp) > 0)
+ while(fgets(tmp2, 64, fp) != NULL)
{
serial = strstr(tmp2, "Serial Number:");
if(serial)
if(!fp)
{
log_printf("error reading /proc/mounts");
- fclose(fp);
return;
}
mounted_count = 0;
- while(fgets(tmp, 256, fp) > 0)
+ while(fgets(tmp, 256, fp) != NULL)
{
char *t, *t2;
t = strstr(tmp, " ");
return 0;
}
#define MAX_BLOCK 64
-char block[MAX_BLOCK][MAX_BLOCK];
-int blk_cnt = 0;
+static char block[MAX_BLOCK][MAX_BLOCK];
+static int blk_cnt = 0;
static int check_block(char *b)
{
char tmp[64];
snprintf(tmp, 64, "/sys/block/%s/", namelist[n]->d_name);
m = scandir(tmp, &namelist2, dir_filter2, dir_sort);
- while(m--)
+ if(m > 0)
{
- strncpy(&block[blk_cnt][0], namelist2[m]->d_name, MAX_BLOCK);
+ while(m--)
+ {
+ strncpy(&block[blk_cnt][0], namelist2[m]->d_name, MAX_BLOCK);
+ blk_cnt++;
+ free(namelist2[m]);
+ }
+ free(namelist2);
+ } else {
+ strncpy(&block[blk_cnt][0], namelist[n]->d_name, MAX_BLOCK);
blk_cnt++;
- free(namelist2[m]);
}
- free(namelist2);
}
free(namelist[n]);
}
p->next->prev = p->prev;
p = p->next;
log_printf("removing %s\n", q->dev);
+ snprintf(tmp, 64, "%s%s", "/tmp/run/mountd/", q->dev);
+ rmdir(tmp);
snprintf(tmp, 64, "%s%s", uci_path, q->name);
unlink(tmp);
system_printf("ACTION=remove DEVICE=%s NAME=%s /sbin/hotplug-call mount", q->dev, q->name);