Applied latest patches from Alexander
This commit is contained in:
@@ -19,14 +19,14 @@ atexit (to be `void (func *)(void)' instead of `void (func *)()'.
|
|||||||
|
|
||||||
First, edit GNUmakef.def for the preferrable compilation options.
|
First, edit GNUmakef.def for the preferrable compilation options.
|
||||||
|
|
||||||
Now go to golded3 and <EFBFBD>opy mygolded.__h to mygolded.h and adjust it for
|
Now go to golded3 and copy mygolded.__h to mygolded.h and adjust it for
|
||||||
yourself (put your name, FTN address and e-mail). Goto root again.
|
yourself (put your name, FTN address and e-mail). Goto root again.
|
||||||
|
|
||||||
Pray.
|
Pray.
|
||||||
|
|
||||||
Exec 'make'. Wait. (If your version of gcc does not support strftime format
|
Exec 'make' (or `gmake' on BSD). Wait. (If your version of gcc does not
|
||||||
checking you will need to manually comment __attribute__ definition on
|
support strftime format checking you will need to manually comment
|
||||||
strftimei function in goldlib/gall/gtimall.h.)
|
__attribute__ definition on strftimei function in goldlib/gall/gtimall.h.)
|
||||||
|
|
||||||
ls bin/
|
ls bin/
|
||||||
|
|
||||||
|
@@ -9,9 +9,12 @@ ______________________________________________________________________
|
|||||||
|
|
||||||
______________________________________________________________________
|
______________________________________________________________________
|
||||||
|
|
||||||
Notes for GoldED+ 1.1.4.5, May XX 2000
|
Notes for GoldED+ 1.1.4.5, June 18 2000
|
||||||
______________________________________________________________________
|
______________________________________________________________________
|
||||||
|
|
||||||
|
- Fixed some memory leaks regarding to GROUP feature, REPLYADDR
|
||||||
|
parsing, undo.
|
||||||
|
|
||||||
- Fixed small bug in fidoconfig parser that brokes correct handling of
|
- Fixed small bug in fidoconfig parser that brokes correct handling of
|
||||||
INCLUDE keyword.
|
INCLUDE keyword.
|
||||||
|
|
||||||
|
@@ -63,9 +63,9 @@ assistance!
|
|||||||
*Q:* <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CUA?
|
*Q:* <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CUA?
|
||||||
*A:* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CUA <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> KEYBDEFAULTS <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
*A:* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CUA <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> KEYBDEFAULTS <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #Left <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>,
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #Left <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> Linux. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> CUA <20><><EFBFBD> Linux'<27><> (<28> <EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BSD)
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> Linux (<28> 1.1.4.5 <20><><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD> <20> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CUA <20><><EFBFBD> Linux'<27><> (<28> <EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BSD) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ncurses.
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ncurses.
|
||||||
|
|
||||||
*Q:* <20> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> INVALIDATE <token> "" ""? <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
*Q:* <20> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> INVALIDATE <token> "" ""? <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||||
*A:* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
*A:* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -112,11 +112,14 @@ assistance!
|
|||||||
|
|
||||||
*Q:* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> Windows 2000.
|
*Q:* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> Windows 2000.
|
||||||
*A:* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Lucida <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> registry <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
*A:* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Lucida <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> registry <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 1250/1252 <20><> 1251.
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 1250/1252 <20><> 1251. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
<20><> registry <20> ftp://eed.miee.ru/pub/GoldED+/, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD> ;-)
|
||||||
|
|
||||||
*Q:* <20><><EFBFBD><EFBFBD> <20><><EFBFBD>... <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? ;-)
|
*Q:* <20><><EFBFBD><EFBFBD> <20><><EFBFBD>... <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? ;-)
|
||||||
*A:* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> Ru.GoldED. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>
|
*A:* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> Ru.GoldED. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> asa@eed.miee.ru
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> asa@eed.miee.ru
|
||||||
<20><><EFBFBD> 2:5020/201.58, <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
<20><><EFBFBD> 2:5020/201.58 [<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>], <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
>==============================================================================
|
>==============================================================================
|
||||||
|
@@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
class Container {
|
class Container {
|
||||||
|
|
||||||
virtual void prints(int, int, int, char*) = 0;
|
virtual void prints(int, int, int, const char*) = 0;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@@ -168,7 +168,7 @@ void IEclass::scrolldown(int __scol, int __srow, int __ecol, int __erow, int __l
|
|||||||
// ------------------------------------------------------------------
|
// ------------------------------------------------------------------
|
||||||
// Zero-based
|
// Zero-based
|
||||||
|
|
||||||
void IEclass::prints(int wrow, int wcol, int atr, char* str) {
|
void IEclass::prints(int wrow, int wcol, int atr, const char* str) {
|
||||||
|
|
||||||
editwin.prints(wrow, wcol, atr, str);
|
editwin.prints(wrow, wcol, atr, str);
|
||||||
}
|
}
|
||||||
@@ -272,7 +272,8 @@ void IEclass::dispstring(const char* __string, uint __row, int attr, Line* line)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
memcpy(_buf, __string, _length);
|
if(_length)
|
||||||
|
memcpy(_buf, __string, _length);
|
||||||
}
|
}
|
||||||
|
|
||||||
// mark selected block
|
// mark selected block
|
||||||
@@ -2394,12 +2395,10 @@ void UndoStack::PushItem(uint action, Line* __line, uint __col, uint __len) {
|
|||||||
last_item->line = __line;
|
last_item->line = __line;
|
||||||
break;
|
break;
|
||||||
case EDIT_UNDO_INS_TEXT:
|
case EDIT_UNDO_INS_TEXT:
|
||||||
last_item->line = __line;
|
|
||||||
goto save_item;
|
|
||||||
case EDIT_UNDO_WRAP_TEXT:
|
case EDIT_UNDO_WRAP_TEXT:
|
||||||
last_item->line = __line->prev;
|
last_item->line = __line;
|
||||||
save_item:
|
throw_new(last_item->data.text_ptr = new(__len) text_item(__col, __len));
|
||||||
throw_new(last_item->data.text_ptr = new text_item(__col, __len));
|
memcpy(last_item->data.text_ptr->text, __line->txt.c_str() + __col, __len);
|
||||||
break;
|
break;
|
||||||
case EDIT_UNDO_NEW_LINE:
|
case EDIT_UNDO_NEW_LINE:
|
||||||
last_item->line = last_item->data.line_ptr = __line;
|
last_item->line = last_item->data.line_ptr = __line;
|
||||||
|
@@ -307,7 +307,7 @@ protected:
|
|||||||
int isempty (Line* __line=NULL);
|
int isempty (Line* __line=NULL);
|
||||||
void killkillbuf ();
|
void killkillbuf ();
|
||||||
void killpastebuf ();
|
void killpastebuf ();
|
||||||
void prints (int wrow, int wcol, int atr, char* str);
|
void prints (int wrow, int wcol, int atr, const char* str);
|
||||||
int reflowok (char* __qstr);
|
int reflowok (char* __qstr);
|
||||||
void refresh (Line* __currline, uint __row);
|
void refresh (Line* __currline, uint __row);
|
||||||
void savefile (int __status);
|
void savefile (int __status);
|
||||||
|
@@ -1109,6 +1109,9 @@ void Initialize(int argc, char* argv[]) {
|
|||||||
remove(AddPath(CFG->areapath, "DBRIDGE.EMW"));
|
remove(AddPath(CFG->areapath, "DBRIDGE.EMW"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(CFG->loadlanguage[0])
|
||||||
|
LoadLanguage(CFG->loadlanguage);
|
||||||
|
|
||||||
// Unlink windows
|
// Unlink windows
|
||||||
wunlink(W_READ);
|
wunlink(W_READ);
|
||||||
|
|
||||||
|
@@ -546,12 +546,12 @@ static void KludgePID(GMsg* msg, const char* ptr) {
|
|||||||
|
|
||||||
static void KludgeREPLYADDR(GMsg* msg, const char* ptr) {
|
static void KludgeREPLYADDR(GMsg* msg, const char* ptr) {
|
||||||
|
|
||||||
Name name;
|
INam name;
|
||||||
name[0] = NUL;
|
name[0] = NUL;
|
||||||
char *buf=throw_strdup(ptr);
|
char *buf=throw_strdup(ptr);
|
||||||
ParseInternetAddr(buf, *msg->realby ? name : msg->realby, msg->iaddr);
|
ParseInternetAddr(buf, *msg->realby ? name : msg->realby, msg->iaddr);
|
||||||
if(*name)
|
if(*name)
|
||||||
strxcpy(msg->realby, name, sizeof(Name));
|
strxcpy(msg->realby, name, sizeof(INam));
|
||||||
throw_free(buf);
|
throw_free(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -647,7 +647,7 @@ void GMsgBodyView::UpdateScrollbar() {
|
|||||||
|
|
||||||
// ------------------------------------------------------------------
|
// ------------------------------------------------------------------
|
||||||
|
|
||||||
void GMsgBodyView::prints(int wrow, int wcol, int atr, char* str) {
|
void GMsgBodyView::prints(int wrow, int wcol, int atr, const char* str) {
|
||||||
|
|
||||||
vputs(wrow, wcol, atr, str);
|
vputs(wrow, wcol, atr, str);
|
||||||
}
|
}
|
||||||
|
@@ -86,7 +86,7 @@ protected:
|
|||||||
|
|
||||||
void PaintLine(int row, Line *line);
|
void PaintLine(int row, Line *line);
|
||||||
void UpdateScrollbar();
|
void UpdateScrollbar();
|
||||||
void prints(int wrow, int wcol, int atr, char* str);
|
void prints(int wrow, int wcol, int atr, const char* str);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@@ -134,8 +134,9 @@ void Grp::AddItm(int __type, const string& __data) {
|
|||||||
|
|
||||||
void Grp::AddItm(int __type, void* __data, int __size) {
|
void Grp::AddItm(int __type, void* __data, int __size) {
|
||||||
|
|
||||||
void *data = throw_malloc(__size);
|
void *data = throw_malloc(__size+sizeof(int));
|
||||||
memcpy(data, __data, __size);
|
*((int *)data) = __size;
|
||||||
|
memcpy((char *)data+sizeof(int), __data, __size);
|
||||||
currgrp->second.insert(pair<int, grp_stock>(__type, data));
|
currgrp->second.insert(pair<int, grp_stock>(__type, data));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -252,7 +253,10 @@ int Grp::GetItm(int __type, void* __data, int __size, int __no) {
|
|||||||
__no = rand() % rv;
|
__no = rand() % rv;
|
||||||
multimap<int, grp_stock>::iterator i = currgrp->second.find(__type);
|
multimap<int, grp_stock>::iterator i = currgrp->second.find(__type);
|
||||||
while(__no--) i++;
|
while(__no--) i++;
|
||||||
memcpy(__data, i->second.data.object_item, __size);
|
void *data = i->second.data.object_item;
|
||||||
|
int local_size = *((int *)data);
|
||||||
|
__size = minimum_of_two (local_size, __size);
|
||||||
|
memcpy(__data, (char *)data+sizeof(int), __size);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return number of items of this type in the group
|
// Return number of items of this type in the group
|
||||||
|
Reference in New Issue
Block a user