--- np2/x11/ini.c 2003/11/26 14:55:01 1.3 +++ np2/x11/ini.c 2003/12/19 16:08:01 1.6 @@ -315,7 +315,7 @@ iwss_extend: static BOOL read_iniread_flag(const INITBL *p); void -ini_write(const char *path, const char *title, const INITBL *tbl, UINT count) +ini_write(const char *path, const char *title, const INITBL *tbl, UINT count, BOOL create) { char work[512]; const INITBL *p; @@ -323,9 +323,17 @@ ini_write(const char *path, const char * FILEH fh; BOOL set; - fh = file_create(path); - if (fh == FILEH_INVALID) - return; + fh = FILEH_INVALID; + if (!create) { + fh = file_open(path); + if (fh != FILEH_INVALID) + file_seek(fh, 0L, FSEEK_END); + } + if (fh == FILEH_INVALID) { + fh = file_create(path); + if (fh == FILEH_INVALID) + return; + } milstr_ncpy(work, "[", sizeof(work)); milstr_ncat(work, title, sizeof(work)); @@ -439,6 +447,7 @@ static const INITBL iniitem[] = { {"HDfolder", INITYPE_STR, hddfolder, MAX_PATH}, {"bmap_Dir", INITYPE_STR, bmpfilefolder, MAX_PATH}, {"fontfile", INITYPE_STR, np2cfg.fontfile, MAX_PATH}, + {"biospath", INITYPE_STR, np2cfg.biospath, MAX_PATH}, {"pc_model", INITYPE_STR, &np2cfg.model, sizeof(np2cfg.model)}, @@ -507,7 +516,7 @@ static const INITBL iniitem[] = { {"USE144FD", INITYPE_BOOL, &np2cfg.usefd144, 0}, {"keyboard", INIRO_KB, &np2oscfg.KEYBOARD, 0}, - {"F12_COPY", INITYPE_UINT8, &np2oscfg.F12COPY, 0}, + {"F12_COPY", INITYPE_UINT8, &np2oscfg.F12KEY, 0}, {"Joystick", INITYPE_BOOL, &np2oscfg.JOYPAD1, 0}, {"Joy1_btn", INITYPE_ARGH8, np2oscfg.JOY1BTN, 4}, @@ -599,5 +608,5 @@ initsave(void) char path[MAX_PATH]; milstr_ncpy(path, modulefile, sizeof(path)); - ini_write(path, ini_title, iniitem, INIITEMS); + ini_write(path, ini_title, iniitem, INIITEMS, TRUE); }