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.
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.
Pray.
Exec 'make'. Wait. (If your version of gcc does not support strftime format
checking you will need to manually comment __attribute__ definition on
strftimei function in goldlib/gall/gtimall.h.)
Exec 'make' (or `gmake' on BSD). Wait. (If your version of gcc does not
support strftime format checking you will need to manually comment
__attribute__ definition on strftimei function in goldlib/gall/gtimall.h.)
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
INCLUDE keyword.

View File

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

View File

@ -31,7 +31,7 @@
class Container {
virtual void prints(int, int, int, char*) = 0;
virtual void prints(int, int, int, const char*) = 0;
public:

View File

@ -168,7 +168,7 @@ void IEclass::scrolldown(int __scol, int __srow, int __ecol, int __erow, int __l
// ------------------------------------------------------------------
// 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);
}
@ -272,7 +272,8 @@ void IEclass::dispstring(const char* __string, uint __row, int attr, Line* line)
}
}
else {
memcpy(_buf, __string, _length);
if(_length)
memcpy(_buf, __string, _length);
}
// mark selected block
@ -2394,12 +2395,10 @@ void UndoStack::PushItem(uint action, Line* __line, uint __col, uint __len) {
last_item->line = __line;
break;
case EDIT_UNDO_INS_TEXT:
last_item->line = __line;
goto save_item;
case EDIT_UNDO_WRAP_TEXT:
last_item->line = __line->prev;
save_item:
throw_new(last_item->data.text_ptr = new text_item(__col, __len));
last_item->line = __line;
throw_new(last_item->data.text_ptr = new(__len) text_item(__col, __len));
memcpy(last_item->data.text_ptr->text, __line->txt.c_str() + __col, __len);
break;
case EDIT_UNDO_NEW_LINE:
last_item->line = last_item->data.line_ptr = __line;

View File

@ -307,7 +307,7 @@ protected:
int isempty (Line* __line=NULL);
void killkillbuf ();
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);
void refresh (Line* __currline, uint __row);
void savefile (int __status);

View File

@ -1109,6 +1109,9 @@ void Initialize(int argc, char* argv[]) {
remove(AddPath(CFG->areapath, "DBRIDGE.EMW"));
}
if(CFG->loadlanguage[0])
LoadLanguage(CFG->loadlanguage);
// Unlink windows
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) {
Name name;
INam name;
name[0] = NUL;
char *buf=throw_strdup(ptr);
ParseInternetAddr(buf, *msg->realby ? name : msg->realby, msg->iaddr);
if(*name)
strxcpy(msg->realby, name, sizeof(Name));
strxcpy(msg->realby, name, sizeof(INam));
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);
}

View File

@ -86,7 +86,7 @@ protected:
void PaintLine(int row, Line *line);
void UpdateScrollbar();
void prints(int wrow, int wcol, int atr, char* str);
void prints(int wrow, int wcol, int atr, const char* str);
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 *data = throw_malloc(__size);
memcpy(data, __data, __size);
void *data = throw_malloc(__size+sizeof(int));
*((int *)data) = __size;
memcpy((char *)data+sizeof(int), __data, __size);
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;
multimap<int, grp_stock>::iterator i = currgrp->second.find(__type);
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