]> git.ozlabs.org Git - petitboot/blobdiff - discover/parser.c
ui/ncurses: Use 'New' instead of 'Open'
[petitboot] / discover / parser.c
index d34600d18f1526856945689f4fbb0723cbdefc28..b0668808cd859cfe7706ad5df870005878639a4e 100644 (file)
@@ -49,6 +49,35 @@ int parser_request_file(struct discover_context *ctx,
        return rc;
 }
 
+int parser_replace_file(struct discover_context *ctx,
+               struct discover_device *dev, const char *filename,
+               char *buf, int len)
+{
+       bool release;
+       char *path;
+       int rc;
+
+       if (!dev->mounted)
+               return -1;
+
+       rc = device_request_write(dev, &release);
+       if (rc) {
+               pb_log("Can't write file %s: device doesn't allow write\n",
+                               dev->device_path);
+               return -1;
+       }
+
+       path = local_path(ctx, dev, filename);
+
+       rc = replace_file(path, buf, len);
+
+       talloc_free(path);
+
+       device_release_write(dev, release);
+
+       return rc;
+}
+
 static int download_config(struct discover_context *ctx, char **buf, int *len)
 {
        struct load_url_result *result;
@@ -146,8 +175,6 @@ void __register_parser(struct parser *parser)
 {
        struct p_item* i = talloc(NULL, struct p_item);
 
-       printf("%s: %s\n", __func__, parser->name);
-
        i->parser = parser;
        list_add(&parsers, &i->list);
 }