diff options
author | Gregorio Guidi <greg_g@gentoo.org> | 2005-10-11 14:41:23 +0000 |
---|---|---|
committer | Gregorio Guidi <greg_g@gentoo.org> | 2005-10-11 14:41:23 +0000 |
commit | bcb4e346f371970ea5890dd7924802e557f87e7c (patch) | |
tree | 80c9e16d663f576ac8ec79b9f98a2e2279741bee /app-office/kword/files | |
parent | Stable on mips. (diff) | |
download | historical-bcb4e346f371970ea5890dd7924802e557f87e7c.tar.gz historical-bcb4e346f371970ea5890dd7924802e557f87e7c.tar.bz2 historical-bcb4e346f371970ea5890dd7924802e557f87e7c.zip |
Get rtfimport patch from KDE mirrors.
Package-Manager: portage-2.0.51.22-r3
Diffstat (limited to 'app-office/kword/files')
-rw-r--r-- | app-office/kword/files/digest-kword-1.4.1-r1 | 1 | ||||
-rw-r--r-- | app-office/kword/files/koffice-1.4.1-rtfimport.patch | 325 |
2 files changed, 1 insertions, 325 deletions
diff --git a/app-office/kword/files/digest-kword-1.4.1-r1 b/app-office/kword/files/digest-kword-1.4.1-r1 index 47d9bab5c838..6a96a65f5dd7 100644 --- a/app-office/kword/files/digest-kword-1.4.1-r1 +++ b/app-office/kword/files/digest-kword-1.4.1-r1 @@ -1 +1,2 @@ MD5 91a7b68757addc5934c5a8209a4926d5 koffice-1.4.1.tar.bz2 19364338 +MD5 9f77b327119fd1db0752dab785e2a975 post-koffice-1.4.1-rtfimport.diff 8614 diff --git a/app-office/kword/files/koffice-1.4.1-rtfimport.patch b/app-office/kword/files/koffice-1.4.1-rtfimport.patch deleted file mode 100644 index 1bcf326fe121..000000000000 --- a/app-office/kword/files/koffice-1.4.1-rtfimport.patch +++ /dev/null @@ -1,325 +0,0 @@ -diff -Nur koffice-1.4.1.orig/filters/kword/rtf/import/rtfimport_tokenizer.cpp koffice-1.4.1/filters/kword/rtf/import/rtfimport_tokenizer.cpp ---- koffice-1.4.1.orig/filters/kword/rtf/import/rtfimport_tokenizer.cpp 2005-07-19 16:09:11.000000000 +0200 -+++ koffice-1.4.1/filters/kword/rtf/import/rtfimport_tokenizer.cpp 2005-10-08 10:17:14.000000000 +0200 -@@ -16,7 +16,7 @@ - - RTFTokenizer::RTFTokenizer() - { -- tokenText.resize( 4112 ); -+ tokenText.resize( 4113 ); - fileBuffer.resize( 4096 ); - infile = 0L; - } -@@ -30,8 +30,25 @@ - fileBufferPtr = 0L; - fileBufferEnd = 0L; - infile = in; -+ type = RTFTokenizer::PlainText; - } - -+int RTFTokenizer::nextChar() -+{ -+ if ( fileBufferPtr == fileBufferEnd ) { -+ int n = infile->readBlock( fileBuffer.data(), fileBuffer.size() ); -+ fileBufferPtr = ( uchar* ) fileBuffer.data(); -+ fileBufferEnd = fileBufferPtr; -+ -+ if ( n <= 0 ) -+ return -1; -+ -+ fileBufferEnd = fileBufferPtr + n; -+ } -+ return *fileBufferPtr++; -+} -+ -+ - /** - * Reads the next token. - */ -@@ -42,22 +59,15 @@ - if (!infile) - return; - -- do -- { -- if (fileBufferPtr == fileBufferEnd) -- { -- int n = infile->readBlock( fileBuffer.data(), fileBuffer.size() ); -+ do { -+ int n = nextChar(); - -- if (n <= 0) -- { -- // Return CloseGroup on EOF -- ch = '}'; -- break; -- } -- fileBufferPtr = (uchar *)fileBuffer.data(); -- fileBufferEnd = (fileBufferPtr + n); -- } -- ch = *fileBufferPtr++; -+ if ( n <= 0 ) { -+ ch = '}'; -+ break; -+ } -+ -+ ch = n; - } - while (ch == '\n' || ch == '\r' && ch != 0); - -@@ -67,6 +77,7 @@ - - uchar *_text = (uchar *)text; - -+ - if (ch == '{') - type = RTFTokenizer::OpenGroup; - else if (ch == '}') -@@ -75,20 +86,14 @@ - { - type = RTFTokenizer::ControlWord; - -- if (fileBufferPtr == fileBufferEnd) -- { -- int n = infile->readBlock( fileBuffer.data(), fileBuffer.size() ); -+ int n = nextChar(); - -- if (n <= 0) -- { -- // Return CloseGroup on EOF -- type = RTFTokenizer::CloseGroup; -- return; -- } -- fileBufferPtr = (uchar *)fileBuffer.data(); -- fileBufferEnd = (fileBufferPtr + n); -- } -- ch = *fileBufferPtr++; -+ if ( n <= 0 ) { -+ // Return CloseGroup on EOF -+ type = RTFTokenizer::CloseGroup; -+ return; -+ } -+ ch = n; - - // Type is either control word or control symbol - if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) -@@ -96,64 +101,41 @@ - int v = 0; - - // Read alphabetic string (command) -- while ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) -+ while (_text < ( uchar* )tokenText.data()+tokenText.size()-3 && -+ ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) ) - { - *_text++ = ch; - -- if (fileBufferPtr == fileBufferEnd) -- { -- int n = infile->readBlock( fileBuffer.data(), fileBuffer.size() ); -- -- if (n <= 0) -- { -- ch = ' '; -- break; -- } -- fileBufferPtr = (uchar *)fileBuffer.data(); -- fileBufferEnd = (fileBufferPtr + n); -- } -- ch = *fileBufferPtr++; -+ int n = nextChar(); -+ if ( n <= 0 ) { -+ ch = ' '; -+ break; -+ } -+ ch = n; - } - - // Read numeric parameter (param) - bool isneg = (ch == '-'); - -- if (isneg) -- { -- if (fileBufferPtr == fileBufferEnd) -- { -- int n = infile->readBlock( fileBuffer.data(), fileBuffer.size() ); -- -- if (n <= 0) -- { -- // Return CloseGroup on EOF -- type = RTFTokenizer::CloseGroup; -- return; -- } -- fileBufferPtr = (uchar *)fileBuffer.data(); -- fileBufferEnd = (fileBufferPtr + n); -- } -- ch = *fileBufferPtr++; -+ if (isneg) { -+ int n = nextChar(); -+ if ( n <= 0 ) { -+ type = RTFTokenizer::CloseGroup; -+ return; -+ } -+ ch = n; - } -- while (ch >= '0' && ch <= '9') -- { -+ -+ while (ch >= '0' && ch <= '9') { - v = (10 * v) + ch - '0'; - hasParam = true; - -- if (fileBufferPtr == fileBufferEnd) -- { -- int n = infile->readBlock( fileBuffer.data(), fileBuffer.size() ); -- -- if (n <= 0) -- { -- ch = ' '; -- break; -- } -- fileBufferPtr = (uchar *)fileBuffer.data(); -- fileBufferEnd = (fileBufferPtr + n); -- } -- ch = *fileBufferPtr++; -- } -+ int n = nextChar(); -+ -+ if ( n <= 0 ) -+ n = ' '; -+ ch = n; -+ } - value = isneg ? -v : v; - - // If delimiter is a space, it's part of the control word -@@ -163,7 +145,7 @@ - } - - *_text = 0; // Just put an end of string for the test, it can then be over-written again -- if ( !qstrncmp( tokenText.data()+1, "bin", 4 ) ) // Test the NULL too to avoid catching keywords starting with "bin" -+ if ( !memcmp( tokenText.data()+1, "bin", 4 ) ) - { // We have \bin, so we need to read the bytes - kdDebug(30515) << "Token:" << tokenText << endl; - if (value > 0) -@@ -173,26 +155,15 @@ - binaryData.resize(value); - for (int i=0; i<value; i++) - { -- if (fileBufferPtr == fileBufferEnd) -- { -- const int n = infile->readBlock( fileBuffer.data(), fileBuffer.size() ); -- -- if (n <= 0) -- { -- kdError(30515) << "\\bin stream hit end of file." << endl; -- type = RTFTokenizer::CloseGroup; -- break; -- } -- fileBufferPtr = (uchar *)fileBuffer.data(); -- fileBufferEnd = (fileBufferPtr + n); -+ int n = nextChar(); -+ if ( n <= 0 ) { -+ type = RTFTokenizer::CloseGroup; -+ break; - } -- binaryData[i]=*fileBufferPtr++; -+ -+ binaryData[i] = n; - } - } -- else -- { -- kdError(30515) << "\\bin with negative value skipping" << endl; -- } - } - - } -@@ -200,19 +171,13 @@ - { - type = RTFTokenizer::ControlWord; - *_text++ = ch; -- if (fileBufferPtr == fileBufferEnd) -- { -- int n = infile->readBlock( fileBuffer.data(), fileBuffer.size() ); - -- if (n <= 0) -- { -- // Return CloseGroup on EOF -- type = RTFTokenizer::CloseGroup; -- return; -- } -- fileBufferPtr = (uchar *)fileBuffer.data(); -- fileBufferEnd = (fileBufferPtr + n); -- } -+ int n = nextChar(); -+ -+ if ( n <= 0 ) { -+ type = RTFTokenizer::CloseGroup; -+ return; -+ } - ch = *fileBufferPtr++; - for(int i=0;i<2;i++) - { -@@ -220,22 +185,16 @@ - value<<=4; - value=value|((ch + ((ch & 16) ? 0 : 9)) & 0xf); - -- if (fileBufferPtr == fileBufferEnd) -- { -- int n = infile->readBlock( fileBuffer.data(), fileBuffer.size() ); -- -- if (n <= 0) -- { -- ch = ' '; -- break; -- } -- fileBufferPtr = (uchar *)fileBuffer.data(); -- fileBufferEnd = (fileBufferPtr + n); -- } -+ int n = nextChar(); -+ -+ if ( n <= 0 ) { -+ ch = ' '; -+ break; -+ } - ch = *fileBufferPtr++; - } -- --fileBufferPtr; -- } -+ --fileBufferPtr; -+ } - else - { - type = RTFTokenizer::ControlWord; -@@ -248,14 +207,16 @@ - - // Everything until next backslash, opener or closer - while ( ch != '\\' && ch != '{' && ch != '}' && ch != '\n' && -- ch != '\r' && fileBufferPtr <= fileBufferEnd ) -+ ch != '\r') - { - *_text++ = ch; -+ if(fileBufferPtr >= fileBufferEnd) -+ break; - ch = *fileBufferPtr++; - } -- -- // Give back last char -- --fileBufferPtr; -+ if(fileBufferPtr < fileBufferEnd) -+ --fileBufferPtr; // give back the last char - } - *_text++ = 0; -+ - } -diff -Nur koffice-1.4.1.orig/filters/kword/rtf/import/rtfimport_tokenizer.h koffice-1.4.1/filters/kword/rtf/import/rtfimport_tokenizer.h ---- koffice-1.4.1.orig/filters/kword/rtf/import/rtfimport_tokenizer.h 2005-07-19 16:09:11.000000000 +0200 -+++ koffice-1.4.1/filters/kword/rtf/import/rtfimport_tokenizer.h 2005-10-08 10:17:14.000000000 +0200 -@@ -50,6 +50,8 @@ - - // tokenizer (private) data - private: -+ int nextChar(); -+ - QFile *infile; - QByteArray fileBuffer; - QCString tokenText; |