diff options
author | Matt Wilson <msw@redhat.com> | 1999-09-13 06:29:44 +0000 |
---|---|---|
committer | Matt Wilson <msw@redhat.com> | 1999-09-13 06:29:44 +0000 |
commit | bb20c21ac383238d139fbffeece06efd8ed5620b (patch) | |
tree | e252ac9cb57da771d144e4825410797918c683ad /loader | |
parent | f0c6f0eabd94c0c9935fdab940fa24c140299c12 (diff) | |
download | anaconda-bb20c21ac383238d139fbffeece06efd8ed5620b.tar.gz anaconda-bb20c21ac383238d139fbffeece06efd8ed5620b.tar.xz anaconda-bb20c21ac383238d139fbffeece06efd8ed5620b.zip |
more changes
Diffstat (limited to 'loader')
-rw-r--r-- | loader/lang.c | 4 | ||||
-rw-r--r-- | loader/lang.h | 2 | ||||
-rw-r--r-- | loader/loader.c | 36 |
3 files changed, 30 insertions, 12 deletions
diff --git a/loader/lang.c b/loader/lang.c index 15d725025..ba745db1a 100644 --- a/loader/lang.c +++ b/loader/lang.c @@ -213,7 +213,7 @@ static int loadFont(char * fontFile, int flags) { return 0; } -int chooseLanguage(int flags) { +int chooseLanguage(char ** lang, int flags) { int choice = 0; char ** langs; int i; @@ -246,6 +246,8 @@ int chooseLanguage(int flags) { "during the installation process?"), 40, 5, 5, 8, langs, &choice, _("OK"), NULL); + *lang = languages[choice].key; + if (choice == english) { /* stick with the default (English) */ unsetenv("LANG"); diff --git a/loader/lang.h b/loader/lang.h index bd0454cbe..ce5c6fd0d 100644 --- a/loader/lang.h +++ b/loader/lang.h @@ -4,7 +4,7 @@ #define _(x) translateString (x) #define N_(foo) (foo) -int chooseLanguage(int flags); +int chooseLanguage(char ** lang, int flags); int chooseKeyboard(char ** keymap, char ** kbdtypep, int flags); char * translateString(char * str); diff --git a/loader/loader.c b/loader/loader.c index b9ee0b8bb..67d532160 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -957,10 +957,15 @@ static char * mountUrlImage(struct installMethod * method, #endif -static char * doMountImage(char * location, struct knownDevices * kd, - moduleInfoSet modInfo, - moduleList modLoaded, - moduleDeps modDeps, int flags) { +static char * doMountImage(char * location, + struct knownDevices * kd, + moduleInfoSet modInfo, + moduleList modLoaded, + moduleDeps modDeps, + char ** lang, + char ** keymap, + char ** kbdtype, + int flags) { static int defaultMethod = 0; int i, rc; int validMethods[10]; @@ -971,8 +976,6 @@ static char * doMountImage(char * location, struct knownDevices * kd, int localAvailable = 0; void * class; char * url = NULL; - char * keymap = NULL; - char * kbdtype = NULL; enum { STEP_LANG, STEP_KBD, STEP_METHOD, STEP_URL, STEP_DONE } step; if ((class = isysGetModuleList(modInfo, DRIVER_NET))) { @@ -1039,12 +1042,12 @@ static char * doMountImage(char * location, struct knownDevices * kd, while (step != STEP_DONE) { switch (step) { case STEP_LANG: - chooseLanguage(flags); + chooseLanguage(lang, flags); step = STEP_KBD; break; case STEP_KBD: - rc = chooseKeyboard (&keymap, &kbdtype, flags); + rc = chooseKeyboard (keymap, kbdtype, flags); if (rc == LOADER_BACK) step = STEP_LANG; @@ -1410,6 +1413,9 @@ int main(int argc, char ** argv) { int i, rc; int flags = 0; int testing = 0; + char * lang = NULL; + char * keymap = NULL; + char * kbdtype = NULL; struct knownDevices kd; moduleInfoSet modInfo; char * ksFile = NULL, * ksSource = NULL; @@ -1518,8 +1524,9 @@ logMessage("Flags are 0x%x\n", flags); } if (!url) { - url = doMountImage("/mnt/source", &kd, modInfo, modLoaded, modDeps, - flags); + url = doMountImage("/mnt/source", &kd, modInfo, modLoaded, modDeps, + &lang, &keymap, &kbdtype, + flags); } if (!FL_TESTING(flags)) { @@ -1613,6 +1620,15 @@ logMessage("Flags are 0x%x\n", flags); *argptr++ = ksFile; } + *argptr++ = "--lang"; + *argptr++ = lang; + + *argptr++ = "--keymap"; + *argptr++ = keymap; + + *argptr++ = "--kbdtype"; + *argptr++ = kbdtype; + *argptr = NULL; if (!FL_TESTING(flags)) { |