On Wed, Mar 28, 2007 at 02:45:15AM +0400, Artem Chuprina wrote:
> Вот глюк с обрезанием строки посреди символа - да, наблюдается.
> Это надо поправить и патч закинуть.  Строку-то явно режет сам aptitude.

Взглянул на сырцы aptitude-0.4.4. Проблема в файле
/src/generic/apt/acqprogress.cc, см. строки 257 - 271. Там такой код:

////////////////////////////////////////////
if (CurrentCPS != 0)
   {      
      char Tmp[300];
      unsigned long ETA = (unsigned long)((TotalBytes - 
CurrentBytes)/CurrentCPS);
      sprintf(Tmp," %sB/s 
%s",SizeToStr(CurrentCPS).c_str(),TimeToStr(ETA).c_str());
      unsigned int Len = strlen(Buffer);
      unsigned int LenT = strlen(Tmp);
      if (Len + LenT < ScreenWidth)
      {  
         memset(Buffer + Len,' ',ScreenWidth - Len);
         strcpy(Buffer + ScreenWidth - LenT,Tmp);
      }      
   }
   Buffer[ScreenWidth] = 0;
   BlankLine[ScreenWidth] = 0;
/////////////////////////////////////////////

Собственно, всё тут плохо. (Buffer - там оказывается текущее сообщение о 
прогрессе
закачки, типа "[Ожидание заголовков]" и пр., которое и режется как попало)

-- 
Stanislav

Ответить