added: uptime winix function prints how many sessions there are

changed: functions for text/numbers conversions
         int Toi(const std::string & str,  int base = 10);
         int Toi(const std::wstring & str, int base = 10);
         int Toi(const char * str,         int base = 10);
         int Toi(const wchar_t * str,      int base = 10);

         long Tol(const std::string & str,  int base = 10);
         long Tol(const std::wstring & str, int base = 10);
         long Tol(const char * str,         int base = 10);
         long Tol(const wchar_t * str,      int base = 10);

         template<class CharType>
         bool Toa(unsigned long value, CharType * buffer, size_t buf_len, int base = 10);

         template<class CharType>
         bool Toa(long value, CharType * buffer, size_t buf_len, int base = 10);

         template<class CharType>
         bool Toa(unsigned int value, CharType * buffer, size_t buf_len, int base = 10);

         template<class CharType>
         bool Toa(int value, CharType * buffer, size_t buf_len, int base = 10);

         const wchar_t * Toa(unsigned int value,  int base = 10);
         const wchar_t * Toa(unsigned long value, int base = 10);
         const wchar_t * Toa(int value,  int base = 10);
         const wchar_t * Toa(long value, int base = 10);

         void Toa(int  value, std::string & res,  int base = 10, bool clear = true);
         void Toa(long value, std::string & res,  int base = 10, bool clear = true);
         void Toa(int  value, std::wstring & res, int base = 10, bool clear = true);
         void Toa(long value, std::wstring & res, int base = 10, bool clear = true);

added:   HtmlTextStream class (files htmltextstream.cpp htmltextstream.h in templates)
         this is a special stream for automatically escaping html tags
	     



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@682 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2010-11-25 01:34:46 +00:00
parent 518281e101
commit 933c8841ff
53 changed files with 1925 additions and 1098 deletions

View File

@@ -16,6 +16,7 @@
SessionContainer::SessionContainer()
{
request = 0;
table_size = 0;
}
@@ -48,7 +49,7 @@ Table::iterator inext, i = table.begin();
// erasing all indexes
index_id.clear();
index_time.clear();
table_size = 0;
request->session = 0;
}
@@ -61,7 +62,8 @@ void SessionContainer::SetLastContainer(LastContainer * plast_container)
SessionContainer::TableSize SessionContainer::Size()
{
return table.size();
// don't use table.size() as it has O(n) complexity on FreeBSD
return table_size;
}
@@ -93,9 +95,10 @@ bool SessionContainer::PushBack(const Session & session)
Iterator last = table.insert(table.end(), session);
index_id.insert( std::make_pair(session.id, last) );
index_time.insert( std::make_pair(session.last_time, last) );
table_size += 1;
log << log3 << "SC: added session, id: " << session.id << logend;
return true;
}
@@ -141,8 +144,9 @@ Session * old_session = request->session;
request->session = &(*iold->second);
table.erase(iold->second);
request->session = 0;
index_time.erase(iold);
table_size -= 1;
request->session = 0;
log << log3 << "SC: deleted index_time for session id: " << id << logend;
log << log3 << "SC: deleted session, id: " << id << logend;