зеркало из https://github.com/mozilla/gecko-dev.git
Fix for 299931 and an attempt to fix 124173
This commit is contained in:
Родитель
b808d771e0
Коммит
6c53758a35
|
@ -79,20 +79,17 @@ getTranslator (char* url)
|
||||||
ans = MakeSCookDB(url);
|
ans = MakeSCookDB(url);
|
||||||
} else if (startsWith("rdf:CookieStore", url)) {
|
} else if (startsWith("rdf:CookieStore", url)) {
|
||||||
ans = MakeCookieStore(url);
|
ans = MakeCookieStore(url);
|
||||||
return MakeCookieStore(url);
|
|
||||||
} else if (startsWith("rdf:find", url)) {
|
} else if (startsWith("rdf:find", url)) {
|
||||||
return MakeFindStore(url);
|
ans = MakeFindStore(url);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (ans) {
|
else if (startsWith("http://", url)) {
|
||||||
PL_HashTableAdd(dataSourceHash, url, ans);
|
ans = MakeFileDB(url);
|
||||||
return ans;
|
} else {
|
||||||
} else if (startsWith("http://", url)) {
|
ans = NULL;
|
||||||
ans = MakeFileDB(url);
|
}
|
||||||
return(ans);
|
if (ans) PL_HashTableAdd(dataSourceHash, ans->url, ans);
|
||||||
} else
|
return ans;
|
||||||
return NULL;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1092,6 +1089,10 @@ void
|
||||||
sendNotifications2 (RDFT r, RDF_EventType opType, RDF_Resource u, RDF_Resource s, void* v, RDF_ValueType type, PRBool tv)
|
sendNotifications2 (RDFT r, RDF_EventType opType, RDF_Resource u, RDF_Resource s, void* v, RDF_ValueType type, PRBool tv)
|
||||||
{
|
{
|
||||||
RDFL rl = r->rdf;
|
RDFL rl = r->rdf;
|
||||||
|
if ((opType == RDF_ASSERT_NOTIFY) &&
|
||||||
|
(nlocalStoreHasAssertion(gLocalStore, u, s, v, type, !tv))) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
while (rl) {
|
while (rl) {
|
||||||
sendNotifications(rl->rdf, opType, u, s, v, type, tv, r->url);
|
sendNotifications(rl->rdf, opType, u, s, v, type, tv, r->url);
|
||||||
rl = rl->next;
|
rl = rl->next;
|
||||||
|
|
|
@ -240,7 +240,7 @@ addSlotValue (RDFFile f, RDF_Resource u, RDF_Resource s, void* v,
|
||||||
}
|
}
|
||||||
if ((s == gCoreVocab->RDF_parent) && (type == RDF_RESOURCE_TYPE)) {
|
if ((s == gCoreVocab->RDF_parent) && (type == RDF_RESOURCE_TYPE)) {
|
||||||
f->genlAdded = true;
|
f->genlAdded = true;
|
||||||
if (strstr(resourceID(u), ".rdf")) {
|
if (strstr(resourceID(u), ".rdf") && startsWith("http", resourceID(u))) {
|
||||||
RDFL rl = f->db->rdf;
|
RDFL rl = f->db->rdf;
|
||||||
char* dburl = getBaseURL(resourceID(u));
|
char* dburl = getBaseURL(resourceID(u));
|
||||||
if (!startsWith(dburl, resourceID((RDF_Resource)v))) {
|
if (!startsWith(dburl, resourceID((RDF_Resource)v))) {
|
||||||
|
|
|
@ -75,12 +75,12 @@ parseNextRDFXMLBlob (NET_StreamClass *stream, char* blob, int32 size)
|
||||||
char c = blob[n];
|
char c = blob[n];
|
||||||
m = 0;
|
m = 0;
|
||||||
somethingseenp = 0;
|
somethingseenp = 0;
|
||||||
memset(f->line, '\0', RDF_BUF_SIZE);
|
memset(f->line, '\0', RDF_BUF_SIZE-1);
|
||||||
if (f->holdOver[0] != '\0') {
|
if (f->holdOver[0] != '\0') {
|
||||||
memcpy(f->line, f->holdOver, strlen(f->holdOver));
|
memcpy(f->line, f->holdOver, strlen(f->holdOver));
|
||||||
m = strlen(f->holdOver);
|
m = strlen(f->holdOver);
|
||||||
somethingseenp = 1;
|
somethingseenp = 1;
|
||||||
memset(f->holdOver, '\0', RDF_BUF_SIZE);
|
memset(f->holdOver, '\0', RDF_BUF_SIZE-1);
|
||||||
}
|
}
|
||||||
while ((n < size) && (wsc(c))) {c = blob[++n];}
|
while ((n < size) && (wsc(c))) {c = blob[++n];}
|
||||||
/* f->line[m++] = c;
|
/* f->line[m++] = c;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче