Browse Source

fix `uci import` with not yet existing packages

uci_file_commit() tries to open and lock a package file (e.g.
/etc/config/system)
before writing into. When the package file doesn't exist, uci fails with
'Entry not found'.
Alexander Couzens 10 years ago
parent
commit
31d4b691d9
1 changed files with 1 additions and 1 deletions
  1. 1 1
      file.c

+ 1 - 1
file.c

@@ -714,7 +714,7 @@ static void uci_file_commit(struct uci_context *ctx, struct uci_package **packag
 		UCI_THROW(ctx, UCI_ERR_IO);
 
 	/* open the config file for writing now, so that it is locked */
-	f1 = uci_open_stream(ctx, p->path, SEEK_SET, false, false);
+	f1 = uci_open_stream(ctx, p->path, SEEK_SET, true, true);
 
 	/* flush unsaved changes and reload from delta file */
 	UCI_TRAP_SAVE(ctx, done);