From: Jon K. <em...@us...> - 2003-06-22 22:28:13
|
Update of /cvsroot/licq/console/src In directory sc8-pr-cvs1:/tmp/cvs-serv14195 Modified Files: console.cpp console.h console_print.cpp window.h Log Message: Use the new ICQUser::usprintf Index: console.cpp =================================================================== RCS file: /cvsroot/licq/console/src/console.cpp,v retrieving revision 1.82 retrieving revision 1.83 diff -u -d -r1.82 -r1.83 --- console.cpp 16 Feb 2003 21:40:56 -0000 1.82 +++ console.cpp 22 Jun 2003 22:28:10 -0000 1.83 @@ -25,7 +25,7 @@ #include "licq_countrycodes.h" // Undefine what stupid ncurses defines as wclear(WINDOW *) -#undef clear() +#undef clear extern "C" const char *LP_Version(); @@ -669,7 +669,7 @@ { (*iter)->CloseFileTransfer(); delete *iter; -#undef erase() +#undef erase m_lFileStat.erase(iter); delete e; return; Index: console.h =================================================================== RCS file: /cvsroot/licq/console/src/console.h,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- console.h 11 Feb 2003 07:00:13 -0000 1.34 +++ console.h 22 Jun 2003 22:28:10 -0000 1.35 @@ -30,7 +30,7 @@ { char szKey[32]; unsigned long nUin; - char szLine[128]; + char *szLine; bool bOffline; const struct SColorMap *color; }; Index: console_print.cpp =================================================================== RCS file: /cvsroot/licq/console/src/console_print.cpp,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- console_print.cpp 25 Jul 2002 01:05:31 -0000 1.38 +++ console_print.cpp 22 Jun 2003 22:28:10 -0000 1.39 @@ -259,12 +259,16 @@ void CLicqConsole::CreateUserList() { unsigned short i = 0; + char *szTmp = 0; + char cNewMsg; struct SUser *s = NULL; list <SUser *>::iterator it; // Clear the list for (it = m_lUsers.begin(); it != m_lUsers.end(); it++) { + if ((*it)->szLine) + delete [] (*it)->szLine; delete (*it); } #undef clear @@ -291,37 +295,43 @@ if(iStatus & ICQ_STATUS_FxPRIVATE) { - pUser->usprintf(&s->szLine[1], m_szOtherOnlineFormat); + szTmp = pUser->usprintf(m_szOtherOnlineFormat); s->color = m_cColorOnline; } if((unsigned short)iStatus == ICQ_STATUS_OFFLINE) { - pUser->usprintf(&s->szLine[1], m_szOfflineFormat); + szTmp = pUser->usprintf(m_szOfflineFormat); s->color = m_cColorOffline; } else if( (unsigned short) iStatus != ICQ_STATUS_OFFLINE && ((iStatus & ICQ_STATUS_DND) || (iStatus & ICQ_STATUS_OCCUPIED) || (iStatus & ICQ_STATUS_NA) || (iStatus & ICQ_STATUS_AWAY))) { - pUser->usprintf(&s->szLine[1], m_szAwayFormat); + szTmp = pUser->usprintf(m_szAwayFormat); s->color = m_cColorAway; } else if((unsigned short)iStatus == ICQ_STATUS_FREEFORCHAT) { - pUser->usprintf(&s->szLine[1], m_szOtherOnlineFormat); + szTmp = pUser->usprintf(m_szOtherOnlineFormat); s->color = m_cColorOnline; } else if((unsigned short)iStatus == ICQ_STATUS_ONLINE) { - pUser->usprintf(&s->szLine[1], m_szOnlineFormat); + szTmp = pUser->usprintf(m_szOnlineFormat); s->color = m_cColorOnline; } if (pUser->NewUser() && !(m_nGroupType == GROUPS_SYSTEM && m_nCurrentGroup == GROUP_NEW_USERS)) s->color = m_cColorNew; - s->szLine[0] = pUser->NewMessages() > 0 ? '*' : ' '; + cNewMsg = (pUser->NewMessages() > 0) ? '*' : ' '; + // Create the line to printout now + s->szLine = new char[strlen(szTmp) + 2]; + snprintf(s->szLine, strlen(szTmp) + 2, "%c%s", cNewMsg, szTmp ? szTmp : ""); + s->szLine[strlen(szTmp) + 1] = '\0'; + free(szTmp); + // Insert into the list bool found = false; for (it = m_lUsers.begin(); it != m_lUsers.end(); it++) Index: window.h =================================================================== RCS file: /cvsroot/licq/console/src/window.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- window.h 2 Nov 2000 17:57:53 -0000 1.9 +++ window.h 22 Jun 2003 22:28:10 -0000 1.10 @@ -1,7 +1,7 @@ #ifndef WINDOW_H #define WINDOW_H -#include <iostream.h> +#include <iostream> #include <curses.h> #define COLOR_YELLOW_BLUE COLOR_YELLOW + 8 |