Merge pull request #638 from aurimasv/to-infinity-and-beyond
Fix possible infinite loops
This commit is contained in:
commit
a18bad6e5c
|
@ -1962,9 +1962,9 @@ Zotero.Schema = new function(){
|
||||||
var rows = Zotero.DB.query("SELECT * FROM itemData WHERE valueID NOT IN (SELECT valueID FROM itemDataValues)");
|
var rows = Zotero.DB.query("SELECT * FROM itemData WHERE valueID NOT IN (SELECT valueID FROM itemDataValues)");
|
||||||
if (rows) {
|
if (rows) {
|
||||||
for (var j=0; j<rows.length; j++) {
|
for (var j=0; j<rows.length; j++) {
|
||||||
for (var j=0; j<values.length; j++) {
|
for (var k=0; k<values.length; k++) {
|
||||||
var valueID = Zotero.ID.get('itemDataValues');
|
var valueID = Zotero.ID.get('itemDataValues');
|
||||||
Zotero.DB.query("INSERT INTO itemDataValues VALUES (?,?)", [valueID, values[j]]);
|
Zotero.DB.query("INSERT INTO itemDataValues VALUES (?,?)", [valueID, values[k]]);
|
||||||
Zotero.DB.query("UPDATE itemData SET valueID=? WHERE itemID=? AND fieldID=?", [valueID, rows[j]['itemID'], rows[j]['fieldID']]);
|
Zotero.DB.query("UPDATE itemData SET valueID=? WHERE itemID=? AND fieldID=?", [valueID, rows[j]['itemID'], rows[j]['fieldID']]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1090,15 +1090,15 @@ Zotero.Utilities = {
|
||||||
// document, we need to use selectNodes
|
// document, we need to use selectNodes
|
||||||
if(namespaces) {
|
if(namespaces) {
|
||||||
var ieNamespaces = [];
|
var ieNamespaces = [];
|
||||||
for(var i in namespaces) {
|
for(var j in namespaces) {
|
||||||
if(!i) continue;
|
if(!j) continue;
|
||||||
ieNamespaces.push('xmlns:'+i+'="'+Zotero.Utilities.htmlSpecialChars(namespaces[i])+'"');
|
ieNamespaces.push('xmlns:'+j+'="'+Zotero.Utilities.htmlSpecialChars(namespaces[j])+'"');
|
||||||
}
|
}
|
||||||
rootDoc.setProperty("SelectionNamespaces", ieNamespaces.join(" "));
|
rootDoc.setProperty("SelectionNamespaces", ieNamespaces.join(" "));
|
||||||
}
|
}
|
||||||
var nodes = element.selectNodes(xpath);
|
var nodes = element.selectNodes(xpath);
|
||||||
for(var i=0; i<nodes.length; i++) {
|
for(var j=0; j<nodes.length; j++) {
|
||||||
results.push(nodes[i]);
|
results.push(nodes[j]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new Error("XPath functionality not available");
|
throw new Error("XPath functionality not available");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user