When reading the configuration checks if a disk name is duplicated.

This commit is contained in:
Andrea Mazzoleni 2013-03-28 18:37:31 +01:00
parent 7d938f874d
commit 07d5027936

12
state.c
View file

@ -223,6 +223,7 @@ void state_config(struct snapraid_state* state, const char* path, const char* co
{
STREAM* f;
unsigned line;
tommy_node* i;
state->verbose = verbose;
state->gui = gui;
@ -472,6 +473,17 @@ void state_config(struct snapraid_state* state, const char* path, const char* co
exit(EXIT_FAILURE);
}
/* check if the disk name already exists */
for(i=state->disklist;i!=0;i=i->next) {
disk = i->data;
if (strcmp(disk->name, buffer) == 0)
break;
}
if (i) {
fprintf(stderr, "Duplicate disk name '%s' at line %u\n", buffer, line);
exit(EXIT_FAILURE);
}
disk = disk_alloc(buffer, dir, st.st_dev);
tommy_list_insert_tail(&state->disklist, &disk->node, disk);