[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
darin
darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:28:56 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit c9e3be4013e114a7b9a2ccdc0e47d0b330677cc8
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Mar 9 00:14:53 2004 +0000
Reviewed by Maciej.
- fixed <rdar://problem/3554876>: REGRESSION (100-125): cannot upload file if path contains non-ASCII characters
* kwq/KWQKURL.mm: Remove Colon constant so we can fit in 8 bits again.
(KURL::KURL): Rewrite so we don't need isSchemeCharOrColon.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 2ffe48b..240f95f 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,12 @@
+2004-03-08 Darin Adler <darin at apple.com>
+
+ Reviewed by Maciej.
+
+ - fixed <rdar://problem/3554876>: REGRESSION (100-125): cannot upload file if path contains non-ASCII characters
+
+ * kwq/KWQKURL.mm: Remove Colon constant so we can fit in 8 bits again.
+ (KURL::KURL): Rewrite so we don't need isSchemeCharOrColon.
+
=== Safari-131 ===
2004-03-08 Ken Kocienda <kocienda at apple.com>
diff --git a/WebCore/kwq/KWQKURL.mm b/WebCore/kwq/KWQKURL.mm
index 85a2387..b1c1131 100644
--- a/WebCore/kwq/KWQKURL.mm
+++ b/WebCore/kwq/KWQKURL.mm
@@ -46,31 +46,28 @@ typedef enum {
// ( alpha | digit | "+" | "-" | "." )
SchemeChar = 1 << 1,
- // ":"
- Colon = 1 << 2,
-
// mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"
// unreserved = alphanum | mark
// ( unreserved | escaped | ";" | ":" | "&" | "=" | "+" | "$" | "," )
- UserInfoChar = 1 << 3,
+ UserInfoChar = 1 << 2,
// alnum | "." | "-" | "%"
// The above is what the specification says, but we are lenient to
// match existing practice and also allow:
// "_"
- HostnameChar = 1 << 4,
+ HostnameChar = 1 << 3,
// hexdigit | ":" | "%"
- IPv6Char = 1 << 5,
+ IPv6Char = 1 << 4,
// "#" | "?" | "/" | nul
- PathSegmentEndChar = 1 << 6,
+ PathSegmentEndChar = 1 << 5,
// digit | "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | "d" | "e" | "f"
- HexDigitChar = 1 << 7,
+ HexDigitChar = 1 << 6,
// not allowed in path
- BadChar = 1 << 8
+ BadChar = 1 << 7
} URLCharacterClasses;
@@ -106,7 +103,7 @@ static const unsigned char characterClassTable[256] = {
/* 55 7 */ SchemeChar | UserInfoChar | HostnameChar | HexDigitChar | IPv6Char,
/* 56 8 */ SchemeChar | UserInfoChar | HostnameChar | HexDigitChar | IPv6Char,
/* 57 9 */ SchemeChar | UserInfoChar | HostnameChar | HexDigitChar | IPv6Char,
- /* 58 : */ Colon | UserInfoChar | IPv6Char, /* 59 ; */ UserInfoChar,
+ /* 58 : */ UserInfoChar | IPv6Char, /* 59 ; */ UserInfoChar,
/* 60 < */ BadChar, /* 61 = */ UserInfoChar,
/* 62 > */ BadChar, /* 63 ? */ PathSegmentEndChar | BadChar,
/* 64 @ */ 0,
@@ -207,7 +204,6 @@ static int copyPathRemovingDots(char *dst, const char *src, int srcStart, int sr
static inline bool isSchemeFirstChar(unsigned char c) { return characterClassTable[c] & SchemeFirstChar; }
static inline bool isSchemeChar(unsigned char c) { return characterClassTable[c] & SchemeChar; }
-static inline bool isSchemeCharOrColon(unsigned char c) { return characterClassTable[c] & (SchemeChar | Colon); }
static inline bool isUserInfoChar(unsigned char c) { return characterClassTable[c] & UserInfoChar; }
static inline bool isHostnameChar(unsigned char c) { return characterClassTable[c] & HostnameChar; }
static inline bool isIPv6Char(unsigned char c) { return characterClassTable[c] & IPv6Char; }
@@ -339,13 +335,13 @@ KURL::KURL(const KURL &base, const QString &relative, const QTextCodec *codec)
if (relative.length() > 0 && isSchemeFirstChar(relative.at(0).latin1())) {
for (uint i = 1; i < relative.length(); i++) {
char p = relative.at(i).latin1();
- if (!isSchemeCharOrColon(p)) {
- break;
- }
if (p == ':') {
protocol = relative.left(i);
break;
}
+ if (!isSchemeChar(p)) {
+ break;
+ }
}
}
if (!protocol) {
@@ -371,11 +367,13 @@ KURL::KURL(const KURL &base, const QString &relative, const QTextCodec *codec)
// non-scheme element.
const char *p = str;
if (isSchemeFirstChar(*p)) {
- for (++p; isSchemeCharOrColon(*p); ++p) {
- if (*p == ':') {
- absolute = true;
- break;
- }
+ ++p;
+ while (isSchemeChar(*p)) {
+ ++p;
+ }
+ if (*p == ':') {
+ absolute = true;
+ break;
}
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list