diff --git a/docs/notework.rus b/docs/notework.rus index 898b42a..7d74271 100644 --- a/docs/notework.rus +++ b/docs/notework.rus @@ -10,6 +10,8 @@ _____________________________________________________________________________ Заметки для GoldED+ 1.1.5, /snapshot/ _____________________________________________________________________________ +- uudecoder: теперь будет игнорировано все после строки что начинается + на "sum -r/size ". - Win32: Исправлено частое чтение реестра когда включен MCI звук. - Golded+ мог упасть в списке сообщений, если размер имени или темы слишком большие. diff --git a/docs/notework.txt b/docs/notework.txt index 0e9089a..7992cd0 100644 --- a/docs/notework.txt +++ b/docs/notework.txt @@ -10,6 +10,9 @@ ______________________________________________________________________ Notes for GoldED+ 1.1.5, /snapshot/ ______________________________________________________________________ +- uudecoder: now are skipped all lines which follows line that starts + with "sum -r/size ". + - Win32: Fixed often registry reading when MCI sounds are enabled. - Golded+ can crash in message list if size of name or subject is too big. diff --git a/goldlib/uulib/uunconc.cpp b/goldlib/uulib/uunconc.cpp index 16736a5..d75a7ec 100644 --- a/goldlib/uulib/uunconc.cpp +++ b/goldlib/uulib/uunconc.cpp @@ -942,33 +942,42 @@ UUDecodePart (FILE *datain, FILE *dataout, int *state, *state = BEGIN; } - while (!feof (datain) && *state != DONE && - (ftell(datain) 5) - tf = tc = 0; + if (vlc > 5) tf = tc = 0; vlc = 0; continue; } @@ -1133,8 +1142,9 @@ UUDecodePart (FILE *datain, FILE *dataout, int *state, break; } - if ((vflag = UUValidData (line, (tf)?method:0, &bhflag)) == 0) - vflag = UURepairData (datain, line, (tf)?method:0, &bhflag); + vflag = !endsection && UUValidData(line, tf ? method : 0, &bhflag); + if (!vflag) + vflag = !endsection && UURepairData(datain, line, tf ? method : 0, &bhflag); /* * correct XX/UUencoded lines that were declared Base64