Fixed fidoconfig parsing.
This commit is contained in:
parent
6ad07cd1bc
commit
501d7c1aa8
@ -10,6 +10,8 @@ _____________________________________________________________________________
|
|||||||
‡ ¬¥âª¨ ¤«ï GoldED+ 1.1.5, /snapshot/
|
‡ ¬¥âª¨ ¤«ï GoldED+ 1.1.5, /snapshot/
|
||||||
_____________________________________________________________________________
|
_____________________________________________________________________________
|
||||||
|
|
||||||
|
+ <20>®¤¤¥à¦ª ª¥©¢®à¤ 'set' ¢ fidoconfig-¥.
|
||||||
|
- Golded+ ¬®£ 㯠áâì ¢® ¢à¥¬ï ¯ àᨣ fidoconfig- .
|
||||||
- ˆá¯à ¢«¥ ¡ £ ¢ á⥪¥ ®âª â । ªâ®à , ¯à¨ ª®â®à®¬ £®«¤¥¤ ¯à®¡®¢ « ¯à®ç¥áâì ¯®
|
- ˆá¯à ¢«¥ ¡ £ ¢ á⥪¥ ®âª â । ªâ®à , ¯à¨ ª®â®à®¬ £®«¤¥¤ ¯à®¡®¢ « ¯à®ç¥áâì ¯®
|
||||||
¨¤¥ªáã ¡®«ìè¥ ç¥¬ à §¬¥à áâப¨.
|
¨¤¥ªáã ¡®«ìè¥ ç¥¬ à §¬¥à áâப¨.
|
||||||
+ „®¡ ¢«¥ ReadForceDeleteMsg (¯® 㬮«ç ¨î #Del) ¢ goldkeys.cfg ¤«ï 㤠«¥¨ï
|
+ „®¡ ¢«¥ ReadForceDeleteMsg (¯® 㬮«ç ¨î #Del) ¢ goldkeys.cfg ¤«ï 㤠«¥¨ï
|
||||||
|
@ -10,6 +10,10 @@ ______________________________________________________________________
|
|||||||
Notes for GoldED+ 1.1.5, /snapshot/
|
Notes for GoldED+ 1.1.5, /snapshot/
|
||||||
______________________________________________________________________
|
______________________________________________________________________
|
||||||
|
|
||||||
|
+ Support for keyword 'set' in fidoconfig.
|
||||||
|
|
||||||
|
- Golded+ can crash when parsing fidoconfig.
|
||||||
|
|
||||||
- Fixed string subscript out of range in editors undo stack.
|
- Fixed string subscript out of range in editors undo stack.
|
||||||
|
|
||||||
+ Added ReadForceDeleteMsg (default is #Del) to the goldkeys.cfg used to
|
+ Added ReadForceDeleteMsg (default is #Del) to the goldkeys.cfg used to
|
||||||
|
@ -73,6 +73,7 @@ bool gareafile::ReadHPTLine(gfile &f, std::string* s, bool add, int state)
|
|||||||
if(state != 1) {
|
if(state != 1) {
|
||||||
str.erase(ptr, str.end());
|
str.erase(ptr, str.end());
|
||||||
state = 2;
|
state = 2;
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -175,6 +176,7 @@ void gareafile::ReadHPTFile(char* path, char* file, char* origin, int group) {
|
|||||||
const word CRC_VERSION = 0xF78F;
|
const word CRC_VERSION = 0xF78F;
|
||||||
const word CRC_COMMENTCHAR = 0xE2CC;
|
const word CRC_COMMENTCHAR = 0xE2CC;
|
||||||
const word CRC_ECHOAREADEFAULTS = 0x2CBB;
|
const word CRC_ECHOAREADEFAULTS = 0x2CBB;
|
||||||
|
const word CRC_SET = 0x2FC2;
|
||||||
|
|
||||||
AreaCfg aa;
|
AreaCfg aa;
|
||||||
Path buf2;
|
Path buf2;
|
||||||
@ -203,12 +205,19 @@ void gareafile::ReadHPTFile(char* path, char* file, char* origin, int group) {
|
|||||||
char* key;
|
char* key;
|
||||||
char* val = ptr;
|
char* val = ptr;
|
||||||
gettok(&key, &val);
|
gettok(&key, &val);
|
||||||
switch(strCrc16(key)) {
|
switch (strCrc16(key))
|
||||||
case CRC_VERSION:
|
{
|
||||||
|
case CRC_SET:
|
||||||
|
if (strchg(val, '[', '%') != 0)
|
||||||
|
strchg(val, ']', '%');
|
||||||
|
putenv(val);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CRC_VERSION:
|
||||||
{
|
{
|
||||||
int ver_maj, ver_min;
|
int ver_maj, ver_min;
|
||||||
sscanf(val, "%d.%d", &ver_maj, &ver_min);
|
sscanf(val, "%d.%d", &ver_maj, &ver_min);
|
||||||
if ((ver_maj != 0) and (ver_min >= 0) and (ver_min < 15))
|
if (((ver_maj << 16) + ver_min) > 0x00010009)
|
||||||
{
|
{
|
||||||
STD_PRINTNL("* Error: Unknown fidoconfig version " << ver_maj << '.' << ver_min << " - Skipping.");
|
STD_PRINTNL("* Error: Unknown fidoconfig version " << ver_maj << '.' << ver_min << " - Skipping.");
|
||||||
throw_xfree(alptr);
|
throw_xfree(alptr);
|
||||||
|
Reference in New Issue
Block a user