Fixed fuzzy sorting, net/echomail.bss updating, compiling on gcc 3.x

This commit is contained in:
Alexander S. Aganichev 2002-05-03 15:24:02 +00:00
parent decc89a5db
commit 72b46c9bef
4 changed files with 22 additions and 11 deletions

View File

@ -12,6 +12,11 @@ ______________________________________________________________________
Notes for GoldED+ 1.1.5, /snapshot/ Notes for GoldED+ 1.1.5, /snapshot/
______________________________________________________________________ ______________________________________________________________________
- Fixed net/echomail.bss updating in Hudson/GoldBase.
- Fixed reverse order sorting in 'F' criteria of AREALISTSORT (broken
in previous snapshots).
- GoldED+ should no longer exit when system time is changed to the - GoldED+ should no longer exit when system time is changed to the
past and Timeout is non-zero. But... Timeout still calculated from past and Timeout is non-zero. But... Timeout still calculated from
timestamp of previous keypress. timestamp of previous keypress.

View File

@ -145,7 +145,7 @@ extern "C" int AreaListCmp(const Area** __a, const Area** __b) {
register bool amay = striinc(area_maybe, A->echoid()) ? true : false; register bool amay = striinc(area_maybe, A->echoid()) ? true : false;
register bool bmay = striinc(area_maybe, B->echoid()) ? true : false; register bool bmay = striinc(area_maybe, B->echoid()) ? true : false;
if((cmp = compare_two(amay, bmay)) != 0) if((cmp = compare_two(bmay, amay)) != 0)
return cmp; return cmp;
} }
break; break;

View File

@ -604,7 +604,7 @@ int ExternUtil(GMsg *msg, int utilno) {
for(int utlno=0; extutil != CFG->externutil.end(); utlno++, extutil++) { for(int utlno=0; extutil != CFG->externutil.end(); utlno++, extutil++) {
if(extutil->utilno == utilno) { if(extutil->utilno == utilno) {
return ExternUtil(msg, extutil); return ExternUtil(msg, &(*extutil));
} }
} }

View File

@ -62,20 +62,26 @@ void _HudsWide<msgn_t, rec_t, attr_t, board_t, last_t, __HUDSON>::update_netecho
// Delete or add the header index // Delete or add the header index
if(__delete) { if(__delete) {
if(_pos < _total) { if(_total and (_scanidx[_closest] == __hdridx)) {
if(_closest != _total) {
memmove(_scanidx+_closest, _scanidx+_closest+1, (_total-_closest+1)*sizeof(msgn_t));
}
--_total; --_total;
if(_total != _pos)
memmove(_scanidx+_pos, _scanidx+_pos+1, (_total-_pos)*sizeof(msgn_t));
} }
} }
else { else {
if(_scanidx[_closest] != __hdridx) { if(_total) {
++_closest; if(_scanidx[_closest] != __hdridx) {
if(_closest != _total) if(_scanidx[_closest] < __hdridx)
memmove(_scanidx+_closest+1, _scanidx+_closest, (_total-_closest+1)*sizeof(msgn_t)); _closest++;
_scanidx[_closest] = __hdridx; if(_closest != _total)
++_total; memmove(_scanidx+_closest+1, _scanidx+_closest, (_total-_closest)*sizeof(msgn_t));
++_total;
}
} }
else
++_total;
_scanidx[_closest++] = __hdridx;
} }
// Write the changed scanning file from scratch // Write the changed scanning file from scratch