[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: aptitude, xterm и локаль ru_RU.UTF-8



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



Reply to: