Revision 9d993394

b/qemu-config.c
257 257
    return 0;
258 258
}
259 259

  
260
struct ConfigWriteData {
261
    QemuOptsList *list;
262
    FILE *fp;
263
};
264

  
265
static int config_write_opt(const char *name, const char *value, void *opaque)
266
{
267
    struct ConfigWriteData *data = opaque;
268

  
269
    fprintf(data->fp, "  %s = \"%s\"\n", name, value);
270
    return 0;
271
}
272

  
273
static int config_write_opts(QemuOpts *opts, void *opaque)
274
{
275
    struct ConfigWriteData *data = opaque;
276
    const char *id = qemu_opts_id(opts);
277

  
278
    if (id) {
279
        fprintf(data->fp, "[%s \"%s\"]\n", data->list->name, id);
280
    } else {
281
        fprintf(data->fp, "[%s]\n", data->list->name);
282
    }
283
    qemu_opt_foreach(opts, config_write_opt, data, 0);
284
    fprintf(data->fp, "\n");
285
    return 0;
286
}
287

  
288
void qemu_config_write(FILE *fp)
289
{
290
    struct ConfigWriteData data = { .fp = fp };
291
    int i;
292

  
293
    fprintf(fp, "# qemu config file\n\n");
294
    for (i = 0; lists[i] != NULL; i++) {
295
        data.list = lists[i];
296
        qemu_opts_foreach(data.list, config_write_opts, &data, 0);
297
    }
298
}
b/qemu-config.h
10 10

  
11 11
int qemu_set_option(const char *str);
12 12

  
13
void qemu_config_write(FILE *fp);
14

  
13 15
#endif /* QEMU_CONFIG_H */

Also available in: Unified diff