Applied latest patches from Alexander

This commit is contained in:
Jacobo Tarrío 2000-06-16 23:30:48 +00:00
parent 745564944a
commit de3a66b4e9
11 changed files with 38 additions and 26 deletions

View File

@ -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 á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/

View File

@ -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.

View File

@ -63,9 +63,9 @@ assistance!
*Q:* А где обещанное CUA? *Q:* А где обещанное CUA?
*A:* Чтобы использовать CUA при выключенном KEYBDEFAULTS надо его определить. *A:* Чтобы использовать CUA при выключенном KEYBDEFAULTS надо его определить.
Хотя всякие #Left не описаны в документации, они физически есть всюду, Хотя всякие #Left не описаны в документации, они физически есть всюду,
кроме версии для Linux. Скорее всего CUA под Linux'ом (и в планах BSD) кроме версии для Linux (с 1.1.4.5 они есть и на линуксовой консоли).
будет работать только на иксовой консоли, поскольку вывод на экран будет Скорее всего CUA под Linux'ом (и в планах BSD) будет работать только на
повраплен в ncurses. иксовой консоли, поскольку вывод на экран будет повраплен в ncurses.
*Q:* А что за проблемы с INVALIDATE <token> "" ""? Почему все-равно квотится? *Q:* А что за проблемы с INVALIDATE <token> "" ""? Почему все-равно квотится?
*A:* Это опять недочитанная до конца документация. Используйте ключевое слово *A:* Это опять недочитанная до конца документация. Используйте ключевое слово
@ -112,11 +112,14 @@ assistance!
*Q:* Глюки отображения под Windows 2000. *Q:* Глюки отображения под Windows 2000.
*A:* Решаются сменой шрифта на Lucida или грязными хаками registry на предмет *A:* Решаются сменой шрифта на Lucida или грязными хаками registry на предмет
перестановки языков с 1250/1252 на 1251. перестановки языков с 1250/1252 на 1251. Можно попробовать применить патч
на registry с ftp://eed.miee.ru/pub/GoldED+/, но говорят, что становится
еще хуже ;-)
*Q:* Типа эта... А писать куда автору? ;-) *Q:* Типа эта... А писать куда автору? ;-)
*A:* Писать лучше всего в Ru.GoldED. Даже лучше сначала его почитать, потом *A:* Писать лучше всего в Ru.GoldED. Даже лучше сначала его почитать, потом
писать. Если уж сильно приспичит, то можно писать на asa@eed.miee.ru писать. Если уж сильно приспичит, то можно писать на asa@eed.miee.ru
или 2:5020/201.58, но я совсем не гарантирую, что я отвечу. или 2:5020/201.58 [временно в дауне], но я совсем не гарантирую, что я
отвечу.
>============================================================================== >==============================================================================

View File

@ -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:

View File

@ -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,6 +272,7 @@ void IEclass::dispstring(const char* __string, uint __row, int attr, Line* line)
} }
} }
else { else {
if(_length)
memcpy(_buf, __string, _length); memcpy(_buf, __string, _length);
} }
@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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);
} }

View File

@ -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);
} }

View File

@ -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:

View File

@ -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