summaryrefslogtreecommitdiffstats
path: root/ark/arch.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-09-07 22:57:14 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-09-07 22:57:14 +0000
commit8b9f540b428d5b2141c6f17893fc2cb0c9ecdbf2 (patch)
tree67f26e6c80e5c4904cf644b1d543358271593e36 /ark/arch.cpp
parent7cdaac30f5b4aa1d38a7e003963df3fc48576537 (diff)
downloadtdeutils-8b9f540b428d5b2141c6f17893fc2cb0c9ecdbf2.tar.gz
tdeutils-8b9f540b428d5b2141c6f17893fc2cb0c9ecdbf2.zip
* Merged bugfix patches from Chakra project
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeutils@1172733 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'ark/arch.cpp')
-rw-r--r--ark/arch.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/ark/arch.cpp b/ark/arch.cpp
index a08484c..92e7424 100644
--- a/ark/arch.cpp
+++ b/ark/arch.cpp
@@ -33,6 +33,7 @@
// QT includes
#include <tqapplication.h>
#include <tqfile.h>
+#include <tqtextcodec.h>
// KDE includes
#include <kdebug.h>
@@ -330,15 +331,20 @@ void Arch::slotReceivedTOC( KProcess*, char* data, int length )
bool Arch::processLine( const TQCString &line )
{
TQString columns[ 11 ];
+ TQString unicode_line;
unsigned int pos = 0;
int strpos, len;
+ TQTextCodec *codec = TQTextCodec::codecForLocale();
+ unicode_line = codec->toUnicode( line );
+
+
// Go through our columns, try to pick out data, return silently on failure
for ( TQPtrListIterator <ArchColumns>col( m_archCols ); col.current(); ++col )
{
ArchColumns *curCol = *col;
- strpos = curCol->pattern.search( line, pos );
+ strpos = curCol->pattern.search( unicode_line, pos );
len = curCol->pattern.matchedLength();
if ( ( strpos == -1 ) || ( len > curCol->maxLength ) )
@@ -354,7 +360,7 @@ bool Arch::processLine( const TQCString &line )
pos = strpos + len;
- columns[curCol->colRef] = TQString::fromLocal8Bit( line.mid(strpos, len) );
+ columns[curCol->colRef] = TQString::fromLocal8Bit( unicode_line.mid(strpos, len) );
}