aboutsummaryrefslogtreecommitdiffstats
path: root/src/kvilib/irc/KviMircCntrl.cpp
diff options
context:
space:
mode:
authorGravatar Elvio Basello2011-02-10 22:03:48 +0000
committerGravatar Elvio Basello2011-02-10 22:03:48 +0000
commit75bb29bca649278322a987419802655ed7c9817f (patch)
treee2ec1ee869d0ccaedd6e93836c2c827975094a2b /src/kvilib/irc/KviMircCntrl.cpp
parentfixed fish key exchange with cryptopp (diff)
downloadKVIrc-75bb29bca649278322a987419802655ed7c9817f.tar.gz
KVIrc-75bb29bca649278322a987419802655ed7c9817f.tar.bz2
KVIrc-75bb29bca649278322a987419802655ed7c9817f.zip
renamed namespace
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5459 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/kvilib/irc/KviMircCntrl.cpp')
-rw-r--r--src/kvilib/irc/KviMircCntrl.cpp308
1 files changed, 0 insertions, 308 deletions
diff --git a/src/kvilib/irc/KviMircCntrl.cpp b/src/kvilib/irc/KviMircCntrl.cpp
deleted file mode 100644
index da24ff639..000000000
--- a/src/kvilib/irc/KviMircCntrl.cpp
+++ /dev/null
@@ -1,308 +0,0 @@
-//=============================================================================
-//
-// File : KviMircCntrl.cpp
-// Creation date : Sat Aug 31 17:07:36 2002 GMT by Szymon Stefanek
-//
-// This file is part of the KVIrc irc client distribution
-// Copyright (C) 2002-2010 Szymon Stefanek (pragma at kvirc dot net)
-//
-// This program is FREE software. You can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your opinion) any later version.
-//
-// This program is distributed in the HOPE that it will be USEFUL,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-// See the GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, write to the Free Software Foundation,
-// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-//
-//=============================================================================
-
-#define _KVI_MIRCCNTRL_CPP_
-
-#include "KviMircCntrl.h"
-
-KVILIB_API const char * getColorBytes(const char *data_ptr,unsigned char *byte_1,unsigned char *byte_2)
-{
- //
- // Scans the data_ptr for a mIrc color code XX,XX
- // and fills the color values in the two bytes
- //
-
- //First we can have a digit or a comma
- if(((*data_ptr >= '0') && (*data_ptr <='9')))
- {
- //Something interesting ok.
- (*byte_1)=(*data_ptr)-'0'; //store the code
- data_ptr++; //and check the next
- if(((*data_ptr >= '0') && (*data_ptr <= '9'))||(*data_ptr==','))
- {
- //Yes we can understand it
- if(*data_ptr==',')
- {
- //A comma, need to check for background
- data_ptr++;
- } else {
- //A number
- (*byte_1)=((((*byte_1)*10)+((*data_ptr)-'0'))%16);
- data_ptr++;
- if(*data_ptr==',')
- {
- //A comma, need to check for background
- data_ptr++;
- } else {
- //Senseless return
- (*byte_2)=KviMircCntrl::NoChange;
- return data_ptr;
- }
- }
- } else {
- //Senseless character control code OK and return
- (*byte_2)=KviMircCntrl::NoChange;
- return data_ptr;
- }
- } else {
- //Senseless character : only a CTRL+K code
- (*byte_1)=KviMircCntrl::NoChange;
- (*byte_2)=KviMircCntrl::NoChange;
- return data_ptr;
- }
-
- if((*data_ptr >= '0') && (*data_ptr <='9'))
- {
- //Background, a color code
- (*byte_2)=(*data_ptr)-'0';
- data_ptr++;
- if((*data_ptr >= '0') && (*data_ptr <='9'))
- {
- (*byte_2)=((((*byte_2)*10)+((*data_ptr)-'0'))%16);
- data_ptr++;
- }
- return data_ptr;
- } else {
- (*byte_2)=KviMircCntrl::NoChange;
- return data_ptr-1;
- }
-}
-
-
-KVILIB_API const kvi_wchar_t * getColorBytesW(const kvi_wchar_t *data_ptr,unsigned char *byte_1,unsigned char *byte_2)
-{
- //
- // Scans the data_ptr for a mIrc color code XX,XX
- // and fills the color values in the two bytes
- //
-
- //First we can have a digit or a comma
- if(((*data_ptr >= '0') && (*data_ptr <='9')))
- {
- //Something interesting ok.
- (*byte_1)=((*data_ptr)-'0'); //store the code
- data_ptr++; //and check the next
- if(((*data_ptr >= '0') && (*data_ptr <= '9'))||(*data_ptr==','))
- {
- //Yes we can understand it
- if(*data_ptr==',')
- {
- //A comma, need to check for background
- data_ptr++;
- } else {
- //A number
- //(*byte_1)=((((*byte_1)*10)+((*data_ptr)-'0'))%16);
- (*byte_1)=((*byte_1)*10)+((*data_ptr)-'0');
- data_ptr++;
- if(*data_ptr==',')
- {
- //A comma, need to check for background
- data_ptr++;
- } else {
- //Senseless return
- (*byte_2)=KviMircCntrl::NoChange;
- return data_ptr;
- }
- }
- } else {
- //Senseless character control code OK and return
- (*byte_2)=KviMircCntrl::NoChange;
- return data_ptr;
- }
- } else {
- //Senseless character : only a CTRL+K code
- (*byte_1)=KviMircCntrl::NoChange;
- (*byte_2)=KviMircCntrl::NoChange;
- return data_ptr;
- }
-
- if((*data_ptr >= '0') && (*data_ptr <='9'))
- {
- //Background, a color code
- (*byte_2)=(*data_ptr)-'0';
- data_ptr++;
- if((*data_ptr >= '0') && (*data_ptr <='9'))
- {
- //(*byte_2)=((((*byte_2)*10)+((*data_ptr)-'0'))%16);
- (*byte_2)=((*byte_2)*10)+((*data_ptr)-'0');
- data_ptr++;
- }
- return data_ptr;
- } else {
- (*byte_2)=KviMircCntrl::NoChange;
- return data_ptr-1;
- }
-}
-
-KVILIB_API unsigned int getUnicodeColorBytes(const QString &szData,unsigned int charIdx,unsigned char *byte_1,unsigned char *byte_2)
-{
- //
- // Scans the szData for a mIrc color code XX,XX
- // and fills the color values in the two bytes
- //
-
- if(charIdx >= (unsigned int) szData.length())
- {
- (*byte_1)=KviMircCntrl::NoChange;
- (*byte_2)=KviMircCntrl::NoChange;
- return charIdx;
- }
-
- unsigned short c = szData[(int)charIdx].unicode();
-
- //First we can have a digit or a comma
- if(((c < '0') || (c > '9')))
- {
- // senseless : only a CTRL+K code
- (*byte_1)=KviMircCntrl::NoChange;
- (*byte_2)=KviMircCntrl::NoChange;
- return charIdx;
- }
-
- //Something interesting ok.
- (*byte_1)=c - '0'; //store the code
- charIdx++;
- if(charIdx >= (unsigned int) szData.length())
- {
- (*byte_2)=KviMircCntrl::NoChange;
- return charIdx;
- }
-
- c = szData[(int)charIdx].unicode();
-
- if(((c < '0') || (c > '9')) && (c != ','))
- {
- (*byte_2)=KviMircCntrl::NoChange;
- return charIdx;
- }
-
-
- if((c >= '0') && (c <= '9'))
- {
- (*byte_1)=(((*byte_1)*10)+(c-'0'))%16;
- charIdx++;
- if(charIdx >= (unsigned int) szData.length())
- {
- (*byte_2)=KviMircCntrl::NoChange;
- return charIdx;
- }
- c = szData[(int)charIdx].unicode();
- }
-
- if(c == ',')
- {
- charIdx++;
- if(charIdx >= (unsigned int) szData.length())
- {
- (*byte_2)=KviMircCntrl::NoChange;
- return charIdx;
- }
- c = szData[(int)charIdx].unicode();
- } else {
- (*byte_2)=KviMircCntrl::NoChange;
- return charIdx;
- }
-
- if((c < '0') || (c > '9'))
- {
- (*byte_2)=KviMircCntrl::NoChange;
- if(szData[(int)(charIdx-1)].unicode()==',')
- return charIdx-1;
- else
- return charIdx;
- }
-
- //Background, a color code
- (*byte_2)=c-'0';
- charIdx++;
- if(charIdx >= (unsigned int) szData.length())return charIdx;
- c = szData[(int)charIdx].unicode();
-
- if((c >= '0') && (c <='9'))
- {
- (*byte_2)=(((*byte_2)*10)+(c-'0'))%16;
- charIdx++;
- }
-
- return charIdx;
-}
-
-
-namespace KviMircCntrl
-{
- QString stripControlBytes(const QString &szData)
- {
- QString ret;
-
- int i = 0;
- int l = szData.length();
- int begin = 0;
- unsigned char b1;
- unsigned char b2;
- while(i < l)
- {
- switch(szData[i].unicode())
- {
- case KviMircCntrl::Underline:
- case KviMircCntrl::Bold:
- case KviMircCntrl::Reset:
- case KviMircCntrl::Reverse:
- case KviMircCntrl::CryptEscape:
- case KviMircCntrl::CTCP:
- if(i != begin)
- ret += szData.mid(begin,i - begin);
- i++;
- begin = i;
- break;
- case KviMircCntrl::Color:
- if(i != begin)
- ret += szData.mid(begin,i - begin);
- i++;
- i = getUnicodeColorBytes(szData,i,&b1,&b2);
- begin = i;
- break;
- case KviMircCntrl::Icon:
- if(i != begin)
- ret += szData.mid(begin,i - begin);
- i++;
- /*
- * These lines will strip out the first word following the icon escape character
- while(i < l)
- {
- if(szData[i].unicode() == ' ')break;
- else i++;
- }
- */
- begin = i;
- break;
- default:
- i++;
- break;
- }
- }
- if(i != begin)
- ret += szData.mid(begin,i - begin);
- return ret;
- }
-}