udev_db_add_device() can be called when the corressponding database
entry already exists - it should overwrite the old entry in this case.
However, if the old entry was a symlink, fopen(filename, "w") will not
overwrite it properly - it will keep the symlink and create a file
named after the symlink target. Calling unlink(filename) before
trying to create the database file fixes the problem.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
struct name_entry *name_loop;
FILE *f;
+ unlink(filename);
f = fopen(filename, "w");
if (f == NULL) {
err("unable to create db file '%s': %s", filename, strerror(errno));