summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregorio Guidi <greg_g@gentoo.org>2005-10-11 14:41:23 +0000
committerGregorio Guidi <greg_g@gentoo.org>2005-10-11 14:41:23 +0000
commitbcb4e346f371970ea5890dd7924802e557f87e7c (patch)
tree80c9e16d663f576ac8ec79b9f98a2e2279741bee /app-office/kword/files
parentStable on mips. (diff)
downloadhistorical-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-r11
-rw-r--r--app-office/kword/files/koffice-1.4.1-rtfimport.patch325
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;