summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregorio Guidi <greg_g@gentoo.org>2005-10-10 22:10:08 +0000
committerGregorio Guidi <greg_g@gentoo.org>2005-10-10 22:10:08 +0000
commit8e5a98660c983a9aaf5c13154e82588959975da8 (patch)
tree93099188aa303ad95486032dc00f4a42b34107d1 /app-office/koffice/files
parentVersion bump. Adds support for Creative Zen (Micro-like unit with 20GB capaci... (diff)
downloadgentoo-2-8e5a98660c983a9aaf5c13154e82588959975da8.tar.gz
gentoo-2-8e5a98660c983a9aaf5c13154e82588959975da8.tar.bz2
gentoo-2-8e5a98660c983a9aaf5c13154e82588959975da8.zip
New version.
(Portage version: 2.0.51.22-r3)
Diffstat (limited to 'app-office/koffice/files')
-rw-r--r--app-office/koffice/files/digest-koffice-1.4.1-r11
-rw-r--r--app-office/koffice/files/digest-koffice-1.4.21
-rw-r--r--app-office/koffice/files/koffice-1.4.1-rtfimport.patch325
3 files changed, 327 insertions, 0 deletions
diff --git a/app-office/koffice/files/digest-koffice-1.4.1-r1 b/app-office/koffice/files/digest-koffice-1.4.1-r1
new file mode 100644
index 000000000000..47d9bab5c838
--- /dev/null
+++ b/app-office/koffice/files/digest-koffice-1.4.1-r1
@@ -0,0 +1 @@
+MD5 91a7b68757addc5934c5a8209a4926d5 koffice-1.4.1.tar.bz2 19364338
diff --git a/app-office/koffice/files/digest-koffice-1.4.2 b/app-office/koffice/files/digest-koffice-1.4.2
new file mode 100644
index 000000000000..a054824ae545
--- /dev/null
+++ b/app-office/koffice/files/digest-koffice-1.4.2
@@ -0,0 +1 @@
+MD5 6b456fb7d54c84b11396b27a96ae0cf8 koffice-1.4.2.tar.bz2 19486852
diff --git a/app-office/koffice/files/koffice-1.4.1-rtfimport.patch b/app-office/koffice/files/koffice-1.4.1-rtfimport.patch
new file mode 100644
index 000000000000..1bcf326fe121
--- /dev/null
+++ b/app-office/koffice/files/koffice-1.4.1-rtfimport.patch
@@ -0,0 +1,325 @@
+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;