diff --git a/tools/emile-install.c b/tools/emile-install.c index da238a6..f1a78a8 100644 --- a/tools/emile-install.c +++ b/tools/emile-install.c @@ -139,6 +139,14 @@ static int get_info(char *image, int verbose) "vga", property) != -1) printf("vga %s\n", property); + if (config_get_property(configuration, + "modem", property) != -1) + printf("modem %s\n", property); + + if (config_get_property(configuration, + "printer", property) != -1) + printf("printer %s\n", property); + current = 0; for (index = 0; index < 20; index++) { @@ -228,8 +236,6 @@ static int set_config(char *image, int verbose, char *config_path, } configuration[0] = 0; - config_set_property(configuration, "vga", "default"); - if (!emile_config_get(config, CONFIG_GESTALTID, &gestaltid)) { sprintf(buf, "%d", gestaltid); @@ -248,6 +254,15 @@ static int set_config(char *image, int verbose, char *config_path, config_set_property(configuration, "timeout", buf); } + if (!emile_config_get(config, CONFIG_VGA, buf)) + config_set_property(configuration, "vga", buf); + + if (!emile_config_get(config, CONFIG_MODEM, buf)) + config_set_property(configuration, "modem", buf); + + if (!emile_config_get(config, CONFIG_PRINTER, buf)) + config_set_property(configuration, "printer", buf); + kernel_ondisk = NULL; ramdisk_ondisk = NULL; emile_config_read_first_entry(config); diff --git a/tools/emile.c b/tools/emile.c index a5292f5..391eda4 100644 --- a/tools/emile.c +++ b/tools/emile.c @@ -432,8 +432,6 @@ static char *set_config(emile_config *config, int drive) configuration[0] = 0; - config_set_property(configuration, "vga", "default"); - if (!emile_config_get(config, CONFIG_GESTALTID, &gestaltid)) { sprintf(buf, "%d", gestaltid); @@ -452,6 +450,17 @@ static char *set_config(emile_config *config, int drive) config_set_property(configuration, "timeout", buf); } + if (!emile_config_get(config, CONFIG_VGA, buf)) + config_set_property(configuration, "vga", buf); + else + config_set_property(configuration, "vga", "default"); + + if (!emile_config_get(config, CONFIG_MODEM, buf)) + config_set_property(configuration, "modem", buf); + + if (!emile_config_get(config, CONFIG_PRINTER, buf)) + config_set_property(configuration, "printer", buf); + emile_config_read_first_entry(config); do { diff --git a/tools/emile_config.c b/tools/emile_config.c index 84c776a..6dd91af 100644 --- a/tools/emile_config.c +++ b/tools/emile_config.c @@ -324,6 +324,9 @@ int emile_config_get(emile_config* config, int tag, ...) case CONFIG_PARTITION: case CONFIG_FIRST_LEVEL: case CONFIG_SECOND_LEVEL: + case CONFIG_VGA: + case CONFIG_MODEM: + case CONFIG_PRINTER: s = va_arg(arg, char**); *s = get_tag(config->header, tag); ret = (*s == NULL) ? -1 : 0;