jreznik pushed to kdelibs3 (epel7). "backport upstream patches"

notifications at fedoraproject.org notifications at fedoraproject.org
Thu Apr 2 15:36:16 UTC 2015


>From e8a9a9baa7994566791bba2b1a01a1fbdacd0661 Mon Sep 17 00:00:00 2001
From: Than Ngo <than at fedoraproject.org>
Date: Wed, 9 Dec 2009 18:32:39 +0000
Subject: backport upstream patches


diff --git a/kdelibs-3.5.0-kio.patch b/kdelibs-3.5.0-kio.patch
deleted file mode 100644
index 9e09347..0000000
--- a/kdelibs-3.5.0-kio.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- kdelibs-3.5.10/kio/kio/kzip.cpp.orig	2009-12-09 18:42:47.000000000 +0100
-+++ kdelibs-3.5.10/kio/kio/kzip.cpp	2009-12-09 18:45:43.000000000 +0100
-@@ -1051,6 +1051,20 @@
-     return true;
- }
- 
-+bool KZip::writeDir(const QString& name, const QString& user, const QString& group)
-+{
-+    // Zip files have no explicit directories, they are implicitly created during extraction time
-+    // when file entries have paths in them.
-+    // However, to support empty directories, we must create a dummy file entry which ends with '/'.
-+    QString dirName = name;
-+    if (!name.endsWith("/"))
-+        dirName = dirName.append('/');
-+
-+    mode_t perm = 040755;
-+    time_t the_time = time(0);
-+    return writeFile(dirName, user, group, 0, perm, the_time, the_time, the_time, 0);
-+}
-+
- // Doesn't need to be reimplemented anymore. Remove for KDE-4.0
- bool KZip::writeFile( const QString& name, const QString& user, const QString& group, uint size, const char* data )
- {
-@@ -1114,7 +1128,7 @@
-     }
- 
-     // delete entries in the filelist with the same filename as the one we want
--    // to save, so that we don�t have duplicate file entries when viewing the zip
-+    // to save, so that we don�t have duplicate file entries when viewing the zip
-     // with konqi...
-     // CAUTION: the old file itself is still in the zip and won't be removed !!!
-     QPtrListIterator<KZipFileEntry> it( d->m_fileList );
diff --git a/kdelibs-3.5.10-assert.patch b/kdelibs-3.5.10-assert.patch
new file mode 100644
index 0000000..f5e480e
--- /dev/null
+++ b/kdelibs-3.5.10-assert.patch
@@ -0,0 +1,13 @@
+--- kdelibs-3.5.10/kio/kio/karchive.cpp.orig	2009-12-09 18:40:26.000000000 +0100
++++ kdelibs-3.5.10/kio/kio/karchive.cpp	2009-12-09 18:41:14.000000000 +0100
+@@ -588,7 +588,9 @@
+ 
+ void KArchiveDirectory::addEntry( KArchiveEntry* entry )
+ {
+-  Q_ASSERT( !entry->name().isEmpty() );
++  if( entry->name().isEmpty() )
++    return;
++
+   if( m_entries[ entry->name() ] ) {
+       kdWarning() << "KArchiveDirectory::addEntry: directory " << name()
+                   << " has entry " << entry->name() << " already" << endl;
diff --git a/kdelibs-3.5.10-dtoa.patch b/kdelibs-3.5.10-dtoa.patch
new file mode 100644
index 0000000..17a45d1
--- /dev/null
+++ b/kdelibs-3.5.10-dtoa.patch
@@ -0,0 +1,635 @@
+diff -up kdelibs-3.5.10/kjs/dtoa.cpp.orig kdelibs-3.5.10/kjs/dtoa.cpp
+--- kdelibs-3.5.10/kjs/dtoa.cpp.orig	2009-12-09 18:32:22.000000000 +0100
++++ kdelibs-3.5.10/kjs/dtoa.cpp	2009-12-09 18:32:36.000000000 +0100
+@@ -174,9 +174,10 @@
+ #undef CONST
+ #endif
+ 
++#include "dtoa.h"
+ #include <config.h>
+ 
+-#include "stdlib.h"
++#include "global.h"
+ 
+ #ifdef WORDS_BIGENDIAN
+ #define IEEE_MC68k
+@@ -184,7 +185,6 @@
+ #define IEEE_8087
+ #endif
+ #define INFNAN_CHECK
+-#include "dtoa.h"
+ 
+ 
+ 
+@@ -196,22 +196,19 @@ typedef unsigned Long ULong;
+ #endif
+ 
+ #ifdef DEBUG
+-#include "stdio.h"
++#include <stdio.h>
+ #define Bug(x) {fprintf(stderr, "%s\n", x); exit(1);}
+ #endif
+ 
+-#include "string.h"
++#include <stdlib.h>
++#include <string.h>
+ 
+ #ifdef USE_LOCALE
+-#include "locale.h"
++#include <locale.h>
+ #endif
+ 
+ #ifdef MALLOC
+-#ifdef KR_headers
+-extern char *MALLOC();
+-#else
+ extern void *MALLOC(size_t);
+-#endif
+ #else
+ #define MALLOC malloc
+ #endif
+@@ -233,7 +230,7 @@ static double private_mem[PRIVATE_mem], 
+ #define IEEE_Arith
+ #endif
+ 
+-#include "errno.h"
++#include <errno.h>
+ 
+ #ifdef Bad_float_h
+ 
+@@ -260,25 +257,29 @@ static double private_mem[PRIVATE_mem], 
+ #define DBL_MAX 1.7014118346046923e+38
+ #endif
+ 
++#ifndef LONG_MAX
++#define LONG_MAX 2147483647
++#endif
++
+ #else /* ifndef Bad_float_h */
+-#include "float.h"
++#include <float.h>
+ #endif /* Bad_float_h */
+ 
+ #ifndef __MATH_H__
+-#include "math.h"
++#include <math.h>
+ #endif
+ 
++#define strtod kjs_strtod
++#define dtoa kjs_dtoa
++#define freedtoa kjs_freedtoa
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
+ #ifndef CONST
+-#ifdef KR_headers
+-#define CONST /* blank */
+-#else
+ #define CONST const
+ #endif
+-#endif
+ 
+ #if defined(IEEE_8087) + defined(IEEE_MC68k) + defined(VAX) + defined(IBM) != 1
+ Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined.
+@@ -286,37 +287,19 @@ Exactly one of IEEE_8087, IEEE_MC68k, VA
+ 
+ typedef union { double d; ULong L[2]; } U;
+ 
+-#ifdef YES_ALIAS
+-#define dval(x) x
++#define dval(x) (x).d
+ #ifdef IEEE_8087
+-#define word0(x) ((ULong *)&x)[1]
+-#define word1(x) ((ULong *)&x)[0]
++#define word0(x) (x).L[1]
++#define word1(x) (x).L[0]
+ #else
+-#define word0(x) ((ULong *)&x)[0]
+-#define word1(x) ((ULong *)&x)[1]
+-#endif
+-#else
+-#ifdef IEEE_8087
+-#define word0(x) ((U*)&x)->L[1]
+-#define word1(x) ((U*)&x)->L[0]
+-#else
+-#define word0(x) ((U*)&x)->L[0]
+-#define word1(x) ((U*)&x)->L[1]
+-#endif
+-#define dval(x) ((U*)&x)->d
++#define word0(x) (x).L[0]
++#define word1(x) (x).L[1]
+ #endif
+ 
+ /* The following definition of Storeinc is appropriate for MIPS processors.
+  * An alternative that might be better on some machines is
+- * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
+  */
+-#if defined(IEEE_8087) + defined(VAX)
+-#define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \
+-((unsigned short *)a)[0] = (unsigned short)c, a++)
+-#else
+-#define Storeinc(a,b,c) (((unsigned short *)a)[0] = (unsigned short)b, \
+-((unsigned short *)a)[1] = (unsigned short)c, a++)
+-#endif
++#define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
+ 
+ /* #define P DBL_MANT_DIG */
+ /* Ten_pmax = floor(P*log(2)/log(5)) */
+@@ -440,11 +423,7 @@ typedef union { double d; ULong L[2]; } 
+ #ifdef RND_PRODQUOT
+ #define rounded_product(a,b) a = rnd_prod(a, b)
+ #define rounded_quotient(a,b) a = rnd_quot(a, b)
+-#ifdef KR_headers
+-extern double rnd_prod(), rnd_quot();
+-#else
+ extern double rnd_prod(double, double), rnd_quot(double, double);
+-#endif
+ #else
+ #define rounded_product(a,b) a *= b
+ #define rounded_quotient(a,b) a /= b
+@@ -457,11 +436,7 @@ extern double rnd_prod(double, double), 
+ #define Pack_32
+ #endif
+ 
+-#ifdef KR_headers
+-#define FFFFFFFF ((((unsigned long)0xffff)<<16)|(unsigned long)0xffff)
+-#else
+ #define FFFFFFFF 0xffffffffUL
+-#endif
+ 
+ #ifdef NO_LONG_LONG
+ #undef ULLong
+@@ -487,7 +462,7 @@ extern double rnd_prod(double, double), 
+ #define FREE_DTOA_LOCK(n)	/*nothing*/
+ #endif
+ 
+-#define Kmax 15
++#define Kmax (sizeof(size_t) << 3)
+ 
+  struct
+ Bigint {
+@@ -502,11 +477,7 @@ Bigint {
+ 
+  static Bigint *
+ Balloc
+-#ifdef KR_headers
+-	(k) int k;
+-#else
+ 	(int k)
+-#endif
+ {
+ 	int x;
+ 	Bigint *rv;
+@@ -525,7 +496,7 @@ Balloc
+ #else
+ 		len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
+ 			/sizeof(double);
+-		if (pmem_next - private_mem + len <= PRIVATE_mem) {
++		if (pmem_next - private_mem + len <= (unsigned)PRIVATE_mem) {
+ 			rv = (Bigint*)pmem_next;
+ 			pmem_next += len;
+ 			}
+@@ -542,11 +513,7 @@ Balloc
+ 
+  static void
+ Bfree
+-#ifdef KR_headers
+-	(v) Bigint *v;
+-#else
+ 	(Bigint *v)
+-#endif
+ {
+ 	if (v) {
+ 		ACQUIRE_DTOA_LOCK(0);
+@@ -561,11 +528,7 @@ y->wds*sizeof(Long) + 2*sizeof(int))
+ 
+  static Bigint *
+ multadd
+-#ifdef KR_headers
+-	(b, m, a) Bigint *b; int m, a;
+-#else
+ 	(Bigint *b, int m, int a)	/* multiply by m and add a */
+-#endif
+ {
+ 	int i, wds;
+ #ifdef ULLong
+@@ -587,7 +550,7 @@ multadd
+ #ifdef ULLong
+ 		y = *x * (ULLong)m + carry;
+ 		carry = y >> 32;
+-		*x++ = y & FFFFFFFF;
++		*x++ = (ULong)y & FFFFFFFF;
+ #else
+ #ifdef Pack_32
+ 		xi = *x;
+@@ -610,7 +573,7 @@ multadd
+ 			Bfree(b);
+ 			b = b1;
+ 			}
+-		b->x[wds++] = carry;
++		b->x[wds++] = (ULong)carry;
+ 		b->wds = wds;
+ 		}
+ 	return b;
+@@ -618,11 +581,7 @@ multadd
+ 
+  static Bigint *
+ s2b
+-#ifdef KR_headers
+-	(s, nd0, nd, y9) CONST char *s; int nd0, nd; ULong y9;
+-#else
+ 	(CONST char *s, int nd0, int nd, ULong y9)
+-#endif
+ {
+ 	Bigint *b;
+ 	int i, k;
+@@ -656,11 +615,7 @@ s2b
+ 
+  static int
+ hi0bits
+-#ifdef KR_headers
+-	(x) register ULong x;
+-#else
+ 	(register ULong x)
+-#endif
+ {
+ 	register int k = 0;
+ 
+@@ -690,11 +645,7 @@ hi0bits
+ 
+  static int
+ lo0bits
+-#ifdef KR_headers
+-	(y) ULong *y;
+-#else
+ 	(ULong *y)
+-#endif
+ {
+ 	register int k;
+ 	register ULong x = *y;
+@@ -738,11 +689,7 @@ lo0bits
+ 
+  static Bigint *
+ i2b
+-#ifdef KR_headers
+-	(i) int i;
+-#else
+ 	(int i)
+-#endif
+ {
+ 	Bigint *b;
+ 
+@@ -754,11 +701,7 @@ i2b
+ 
+  static Bigint *
+ mult
+-#ifdef KR_headers
+-	(a, b) Bigint *a, *b;
+-#else
+ 	(Bigint *a, Bigint *b)
+-#endif
+ {
+ 	Bigint *c;
+ 	int k, wa, wb, wc;
+@@ -801,10 +744,10 @@ mult
+ 			do {
+ 				z = *x++ * (ULLong)y + *xc + carry;
+ 				carry = z >> 32;
+-				*xc++ = z & FFFFFFFF;
++				*xc++ = (ULong)z & FFFFFFFF;
+ 				}
+ 				while(x < xae);
+-			*xc = carry;
++			*xc = (ULong)carry;
+ 			}
+ 		}
+ #else
+@@ -866,11 +809,7 @@ mult
+ 
+  static Bigint *
+ pow5mult
+-#ifdef KR_headers
+-	(b, k) Bigint *b; int k;
+-#else
+ 	(Bigint *b, int k)
+-#endif
+ {
+ 	Bigint *b1, *p5, *p51;
+ 	int i;
+@@ -923,11 +862,7 @@ pow5mult
+ 
+  static Bigint *
+ lshift
+-#ifdef KR_headers
+-	(b, k) Bigint *b; int k;
+-#else
+ 	(Bigint *b, int k)
+-#endif
+ {
+ 	int i, k1, n, n1;
+ 	Bigint *b1;
+@@ -983,11 +918,7 @@ lshift
+ 
+  static int
+ cmp
+-#ifdef KR_headers
+-	(a, b) Bigint *a, *b;
+-#else
+ 	(Bigint *a, Bigint *b)
+-#endif
+ {
+ 	ULong *xa, *xa0, *xb, *xb0;
+ 	int i, j;
+@@ -1017,11 +948,7 @@ cmp
+ 
+  static Bigint *
+ diff
+-#ifdef KR_headers
+-	(a, b) Bigint *a, *b;
+-#else
+ 	(Bigint *a, Bigint *b)
+-#endif
+ {
+ 	Bigint *c;
+ 	int i, wa, wb;
+@@ -1064,13 +991,13 @@ diff
+ 	do {
+ 		y = (ULLong)*xa++ - *xb++ - borrow;
+ 		borrow = y >> 32 & (ULong)1;
+-		*xc++ = y & FFFFFFFF;
++		*xc++ = (ULong)y & FFFFFFFF;
+ 		}
+ 		while(xb < xbe);
+ 	while(xa < xae) {
+ 		y = *xa++ - borrow;
+ 		borrow = y >> 32 & (ULong)1;
+-		*xc++ = y & FFFFFFFF;
++		*xc++ = (ULong)y & FFFFFFFF;
+ 		}
+ #else
+ #ifdef Pack_32
+@@ -1111,15 +1038,12 @@ diff
+ 
+  static double
+ ulp
+-#ifdef KR_headers
+-	(x) double x;
+-#else
+-	(double x)
+-#endif
++	(double dx)
+ {
+ 	register Long L;
+-	double a;
++	U x, a;
+ 
++	dval(x) = dx;
+ 	L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1;
+ #ifndef Avoid_Underflow
+ #ifndef Sudden_Underflow
+@@ -1153,15 +1077,11 @@ ulp
+ 
+  static double
+ b2d
+-#ifdef KR_headers
+-	(a, e) Bigint *a; int *e;
+-#else
+ 	(Bigint *a, int *e)
+-#endif
+ {
+ 	ULong *xa, *xa0, w, y, z;
+ 	int k;
+-	double d;
++	U d;
+ #ifdef VAX
+ 	ULong d0, d1;
+ #else
+@@ -1223,12 +1143,9 @@ b2d
+ 
+  static Bigint *
+ d2b
+-#ifdef KR_headers
+-	(d, e, bits) double d; int *e, *bits;
+-#else
+-	(double d, int *e, int *bits)
+-#endif
++	(double dd, int *e, int *bits)
+ {
++	U d;
+ 	Bigint *b;
+ 	int de, k;
+ 	ULong *x, y, z;
+@@ -1237,6 +1154,9 @@ d2b
+ #endif
+ #ifdef VAX
+ 	ULong d0, d1;
++#endif
++	dval(d) = dd;
++#ifdef VAX
+ 	d0 = word0(d) >> 16 | word0(d) << 16;
+ 	d1 = word1(d) >> 16 | word1(d) << 16;
+ #else
+@@ -1361,13 +1281,9 @@ d2b
+ 
+  static double
+ ratio
+-#ifdef KR_headers
+-	(a, b) Bigint *a, *b;
+-#else
+ 	(Bigint *a, Bigint *b)
+-#endif
+ {
+-	double da, db;
++	U da, db;
+ 	int k, ka, kb;
+ 
+ 	dval(da) = b2d(a, &ka);
+@@ -1453,11 +1369,7 @@ static CONST double tinytens[] = { 1e-16
+ 
+  static int
+ match
+-#ifdef KR_headers
+-	(sp, t) char **sp, *t;
+-#else
+ 	(CONST char **sp, CONST char *t)
+-#endif
+ {
+ 	int c, d;
+ 	CONST char *s = *sp;
+@@ -1475,11 +1387,7 @@ match
+ #ifndef No_Hex_NaN
+  static void
+ hexnan
+-#ifdef KR_headers
+-	(rvp, sp) double *rvp; CONST char **sp;
+-#else
+-	(double *rvp, CONST char **sp)
+-#endif
++	(U *rvp, CONST char **sp)
+ {
+ 	ULong c, x[2];
+ 	CONST char *s;
+@@ -1528,12 +1436,8 @@ hexnan
+ #endif /* INFNAN_CHECK */
+ 
+  double
+-kjs_strtod
+-#ifdef KR_headers
+-	(s00, se) CONST char *s00; char **se;
+-#else
++strtod
+ 	(CONST char *s00, char **se)
+-#endif
+ {
+ #ifdef Avoid_Underflow
+ 	int scale;
+@@ -1541,7 +1445,8 @@ kjs_strtod
+ 	int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, dsign,
+ 		 e, e1, esign, i, j, k, nd, nd0, nf, nz, nz0, sign;
+ 	CONST char *s, *s0, *s1;
+-	double aadj, aadj1, adj, rv, rv0;
++	double aadj, aadj1, adj;
++	U aadj2, rv, rv0;
+ 	Long L;
+ 	ULong y, z;
+ 	Bigint *bb = NULL, *bb1 = NULL, *bd = NULL, *bd0 = NULL, *bs = NULL, *delta = NULL;
+@@ -2302,7 +2207,9 @@ kjs_strtod
+ 					aadj = z;
+ 					aadj1 = dsign ? aadj : -aadj;
+ 					}
+-				word0(aadj1) += (2*P+1)*Exp_msk1 - y;
++				dval(aadj2) = aadj1;
++				word0(aadj2) += (2*P+1)*Exp_msk1 - y;
++				aadj1 = dval(aadj2);
+ 				}
+ 			adj = aadj1 * ulp(dval(rv));
+ 			dval(rv) += adj;
+@@ -2419,11 +2326,7 @@ kjs_strtod
+ 
+  static int
+ quorem
+-#ifdef KR_headers
+-	(b, S) Bigint *b, *S;
+-#else
+ 	(Bigint *b, Bigint *S)
+-#endif
+ {
+ 	int n;
+ 	ULong *bx, *bxe, q, *sx, *sxe;
+@@ -2461,7 +2364,7 @@ quorem
+ 			carry = ys >> 32;
+ 			y = *bx - (ys & FFFFFFFF) - borrow;
+ 			borrow = y >> 32 & (ULong)1;
+-			*bx++ = y & FFFFFFFF;
++			*bx++ = (ULong)y & FFFFFFFF;
+ #else
+ #ifdef Pack_32
+ 			si = *sx++;
+@@ -2502,7 +2405,7 @@ quorem
+ 			carry = ys >> 32;
+ 			y = *bx - (ys & FFFFFFFF) - borrow;
+ 			borrow = y >> 32 & (ULong)1;
+-			*bx++ = y & FFFFFFFF;
++			*bx++ = (ULong)y & FFFFFFFF;
+ #else
+ #ifdef Pack_32
+ 			si = *sx++;
+@@ -2540,11 +2443,7 @@ quorem
+ #endif
+ 
+  static char *
+-#ifdef KR_headers
+-rv_alloc(i) int i;
+-#else
+ rv_alloc(int i)
+-#endif
+ {
+ 	int j, k, *r;
+ 
+@@ -2563,11 +2462,7 @@ rv_alloc(int i)
+ 	}
+ 
+  static char *
+-#ifdef KR_headers
+-nrv_alloc(s, rve, n) char *s, **rve; int n;
+-#else
+ nrv_alloc(CONST char *s, char **rve, int n)
+-#endif
+ {
+ 	char *rv, *t;
+ 
+@@ -2585,11 +2480,7 @@ nrv_alloc(CONST char *s, char **rve, int
+  */
+ 
+  void
+-#ifdef KR_headers
+-kjs_freedtoa(s) char *s;
+-#else
+-kjs_freedtoa(char *s)
+-#endif
++freedtoa(char *s)
+ {
+ 	Bigint *b = (Bigint *)((int *)s - 1);
+ 	b->maxwds = 1 << (b->k = *(int*)b);
+@@ -2635,13 +2526,8 @@ kjs_freedtoa(char *s)
+  */
+ 
+  char *
+-kjs_dtoa
+-#ifdef KR_headers
+-	(d, mode, ndigits, decpt, sign, rve)
+-	double d; int mode, ndigits, *decpt, *sign; char **rve;
+-#else
+-	(double d, int mode, int ndigits, int *decpt, int *sign, char **rve)
+-#endif
++dtoa
++	(double dd, int mode, int ndigits, int *decpt, int *sign, char **rve)
+ {
+  /*	Arguments ndigits, decpt, sign are similar to those
+ 	of ecvt and fcvt; trailing zeros are suppressed from
+@@ -2686,7 +2572,8 @@ kjs_dtoa
+ 	ULong x;
+ #endif
+ 	Bigint *b, *b1, *delta, *mlo = NULL, *mhi, *S;
+-	double d2, ds, eps;
++	U d, d2, eps;
++	double ds;
+ 	char *s, *s0;
+ #ifdef Honor_FLT_ROUNDS
+ 	int rounding;
+@@ -2697,11 +2584,12 @@ kjs_dtoa
+ 
+ #ifndef MULTIPLE_THREADS
+ 	if (dtoa_result) {
+-		kjs_freedtoa(dtoa_result);
++		freedtoa(dtoa_result);
+ 		dtoa_result = 0;
+ 		}
+ #endif
+ 
++	dval(d) = dd;
+ 	if (word0(d) & Sign_bit) {
+ 		/* set sign for everything, including 0's and NaNs */
+ 		*sign = 1;
+@@ -2966,7 +2854,8 @@ kjs_dtoa
+ 					if (dval(d) > 0.5 + dval(eps))
+ 						goto bump_up;
+ 					else if (dval(d) < 0.5 - dval(eps)) {
+-						while(*--s == '0');
++						while(*--s == '0')
++							;
+ 						s++;
+ 						goto ret1;
+ 						}
+@@ -3285,7 +3174,8 @@ kjs_dtoa
+ #ifdef Honor_FLT_ROUNDS
+ trimzeros:
+ #endif
+-		while(*--s == '0');
++		while(*--s == '0')
++			;
+ 		s++;
+ 		}
+  ret:
diff --git a/kdelibs-3.5.10-kabc.patch b/kdelibs-3.5.10-kabc.patch
new file mode 100644
index 0000000..6da6126
--- /dev/null
+++ b/kdelibs-3.5.10-kabc.patch
@@ -0,0 +1,134 @@
+--- kdelibs-3.5.10/kabc/scripts/field.src.cpp.orig	2009-12-09 18:51:15.000000000 +0100
++++ kdelibs-3.5.10/kabc/scripts/field.src.cpp	2009-12-09 18:51:54.000000000 +0100
+@@ -36,7 +36,7 @@
+                const QString &app = QString::null )
+       : mFieldId( fieldId ), mCategory( category ), mLabel( label ),
+         mKey( key ), mApp( app ) {}
+-  
++
+     enum FieldId
+     {
+       CustomField,
+@@ -45,11 +45,11 @@
+ 
+     int fieldId() { return mFieldId; }
+     int category() { return mCategory; }
+-    
++
+     QString label() { return mLabel; }
+     QString key() { return mKey; }
+     QString app() { return mApp; }
+-    
++
+   private:
+     int mFieldId;
+     int mCategory;
+@@ -184,6 +184,8 @@
+       return a.phoneNumber( PhoneNumber::Pager ).number();
+     case FieldImpl::HomeAddressStreet:
+       return a.address( Address::Home ).street();
++    case FieldImpl::HomeAddressPostOfficeBox:
++      return a.address( Address::Home ).postOfficeBox();
+     case FieldImpl::HomeAddressLocality:
+       return a.address( Address::Home ).locality();
+     case FieldImpl::HomeAddressRegion:
+@@ -196,6 +198,8 @@
+       return a.address( Address::Home ).label();
+     case FieldImpl::BusinessAddressStreet:
+       return a.address( Address::Work ).street();
++    case FieldImpl::BusinessAddressPostOfficeBox:
++      return a.address( Address::Work ).postOfficeBox();
+     case FieldImpl::BusinessAddressLocality:
+       return a.address( Address::Work ).locality();
+     case FieldImpl::BusinessAddressRegion:
+@@ -266,6 +270,13 @@
+         a.insertAddress( address );
+         return true;
+       }
++    case FieldImpl::HomeAddressPostOfficeBox:
++      {
++        KABC::Address address = a.address( Address::Home );
++        address.setPostOfficeBox( value );
++        a.insertAddress( address );
++        return true;
++      }
+     case FieldImpl::HomeAddressLocality:
+       {
+         KABC::Address address = a.address( Address::Home );
+@@ -308,6 +319,13 @@
+         a.insertAddress( address );
+         return true;
+       }
++    case FieldImpl::BusinessAddressPostOfficeBox:
++      {
++        KABC::Address address = a.address( Address::Work );
++        address.setPostOfficeBox( value );
++        a.insertAddress( address );
++        return true;
++      }
+     case FieldImpl::BusinessAddressLocality:
+       {
+         KABC::Address address = a.address( Address::Work );
+@@ -438,7 +456,7 @@
+                         const Field::List &fields )
+ {
+   QValueList<int> fieldIds;
+-  
++
+   int custom = 0;
+   Field::List::ConstIterator it;
+   for( it = fields.begin(); it != fields.end(); ++it ) {
+@@ -452,7 +470,7 @@
+                        QString::number( custom++ ), customEntry );
+     }
+   }
+-  
++
+   cfg->writeEntry( identifier, fieldIds );
+ }
+ 
+@@ -460,7 +478,7 @@
+ {
+   KConfig *cfg = KGlobal::config();
+   KConfigGroupSaver( cfg, "KABCFields" );
+- 
++
+   return restoreFields( cfg, identifier );
+ }
+ 
+@@ -485,7 +503,7 @@
+     }
+     fields.append( new Field( f ) );
+   }
+-  
++
+   return fields;
+ }
+ 
+@@ -496,7 +514,7 @@
+   if ( !sameId ) return false;
+ 
+   if ( mImpl->fieldId() != FieldImpl::CustomField ) return true;
+-  
++
+   return mImpl->key() == field->mImpl->key();
+ }
+ 
+--- kdelibs-3.5.10/kabc/scripts/entrylist.orig	2009-12-09 18:48:40.000000000 +0100
++++ kdelibs-3.5.10/kabc/scripts/entrylist	2009-12-09 18:50:42.000000000 +0100
+@@ -29,6 +29,7 @@
+ 
+ #Address address
+ LF,home address street,,QString,homeAddressStreet,Address|Personal
++LF,home address post office box,,QString,homeAddressPostOfficeBox,Address|Personal
+ LF,home address city,,QString,homeAddressLocality,Address|Personal
+ LF,home address state,,QString,homeAddressRegion,Address|Personal
+ LF,home address zip code,,QString,homeAddressPostalCode,Address|Personal
+@@ -36,6 +37,7 @@
+ LF,home address label,,QString,homeAddressLabel,Address|Personal
+ 
+ LF,business address street,,QString,businessAddressStreet,Address|Organization
++LF,business address post office box,,QString,businessAddressPostOfficeBox,Address|Organization
+ LF,business address city,,QString,businessAddressLocality,Address|Organization
+ LF,business address state,,QString,businessAddressRegion,Address|Organization
+ LF,business address zip code,,QString,businessAddressPostalCode,Address|Organization
diff --git a/kdelibs-3.5.10-kio.patch b/kdelibs-3.5.10-kio.patch
new file mode 100644
index 0000000..9fb299d
--- /dev/null
+++ b/kdelibs-3.5.10-kio.patch
@@ -0,0 +1,47 @@
+--- kdelibs-3.5.10/kio/kio/kzip.cpp.orig	2009-12-09 18:42:47.000000000 +0100
++++ kdelibs-3.5.10/kio/kio/kzip.cpp	2009-12-09 18:45:43.000000000 +0100
+@@ -1051,6 +1051,20 @@
+     return true;
+ }
+ 
++bool KZip::writeDir(const QString& name, const QString& user, const QString& group)
++{
++    // Zip files have no explicit directories, they are implicitly created during extraction time
++    // when file entries have paths in them.
++    // However, to support empty directories, we must create a dummy file entry which ends with '/'.
++    QString dirName = name;
++    if (!name.endsWith("/"))
++        dirName = dirName.append('/');
++
++    mode_t perm = 040755;
++    time_t the_time = time(0);
++    return writeFile(dirName, user, group, 0, perm, the_time, the_time, the_time, 0);
++}
++
+ // Doesn't need to be reimplemented anymore. Remove for KDE-4.0
+ bool KZip::writeFile( const QString& name, const QString& user, const QString& group, uint size, const char* data )
+ {
+@@ -1114,7 +1128,7 @@
+     }
+ 
+     // delete entries in the filelist with the same filename as the one we want
+-    // to save, so that we don�t have duplicate file entries when viewing the zip
++    // to save, so that we don�t have duplicate file entries when viewing the zip
+     // with konqi...
+     // CAUTION: the old file itself is still in the zip and won't be removed !!!
+     QPtrListIterator<KZipFileEntry> it( d->m_fileList );
+diff -up kdelibs-3.5.10/kio/kio/kzip.h.orig kdelibs-3.5.10/kio/kio/kzip.h
+--- kdelibs-3.5.10/kio/kio/kzip.h.orig	2009-12-09 19:35:42.000000000 +0100
++++ kdelibs-3.5.10/kio/kio/kzip.h	2009-12-09 19:35:48.000000000 +0100
+@@ -191,10 +191,7 @@ protected:
+     /// Closes the archive
+     virtual bool closeArchive();
+ 
+-    /**
+-     * @internal Not needed for zip
+-     */
+-    virtual bool writeDir( const QString& name, const QString& user, const QString& group) { Q_UNUSED(name); Q_UNUSED(user); Q_UNUSED(group); return true; }
++    virtual bool writeDir(const QString& name, const QString& user, const QString& group);
+     // TODO(BIC) uncomment and make virtual for KDE 4.
+ //    bool writeDir( const QString& name, const QString& user, const QString& group,
+ //                        mode_t perm, time_t atime, time_t mtime, time_t ctime );
diff --git a/kdelibs3.spec b/kdelibs3.spec
index b0f8c15..cc3df5b 100644
--- a/kdelibs3.spec
+++ b/kdelibs3.spec
@@ -81,7 +81,7 @@ Patch101: kde-3.5-libtool-shlibext.patch
 Patch103: kdelibs-3.5.0-101956.patch
 Patch104: kdelibs-3.5.10-gcc44.patch
 Patch105: kdelibs-3.5.10-ossl-1.x.patch
-Patch106: kdelibs-3.5.0-kio.patch
+Patch106: kdelibs-3.5.10-kio.patch
 Patch107: kdelibs-3.5.10-assert.patch
 Patch108: kdelibs-3.5.10-dtoa.patch
 Patch109: kdelibs-3.5.10-kabc.patch
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/kdelibs3.git/commit/?h=epel7&id=e8a9a9baa7994566791bba2b1a01a1fbdacd0661


More information about the scm-commits mailing list