From 9eeb86c31696aff5dd032fc8f83d75d922e2eac0 Mon Sep 17 00:00:00 2001 From: "norris%netscape.com" Date: Fri, 5 May 2000 16:38:16 +0000 Subject: [PATCH] Fix bug of IndexOutOfRangeException for function query(query, text) {} git-svn-id: svn://10.0.0.236/trunk@68401 18797224-902f-48f8-a5cc-f745e15eee43 --- .../rhino/org/mozilla/javascript/VariableTable.java | 11 +++++++++++ .../src/org/mozilla/javascript/VariableTable.java | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/mozilla/js/rhino/org/mozilla/javascript/VariableTable.java b/mozilla/js/rhino/org/mozilla/javascript/VariableTable.java index ccc55a26be2..f716c33b81c 100644 --- a/mozilla/js/rhino/org/mozilla/javascript/VariableTable.java +++ b/mozilla/js/rhino/org/mozilla/javascript/VariableTable.java @@ -136,6 +136,17 @@ public class VariableTable { if (i != null) { itsVariables.removeElementAt(i.intValue()); itsVariableNames.remove(name); + Hashtable ht = new Hashtable(11); + Enumeration e = itsVariableNames.keys(); + while (e.hasMoreElements()) { + Object k = e.nextElement(); + Integer v = (Integer) itsVariableNames.get(k); + int v2 = v.intValue(); + if (v2 > i.intValue()) + v = new Integer(v2 - 1); + ht.put(k, v); + } + itsVariableNames = ht; } } diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/VariableTable.java b/mozilla/js/rhino/src/org/mozilla/javascript/VariableTable.java index ccc55a26be2..f716c33b81c 100644 --- a/mozilla/js/rhino/src/org/mozilla/javascript/VariableTable.java +++ b/mozilla/js/rhino/src/org/mozilla/javascript/VariableTable.java @@ -136,6 +136,17 @@ public class VariableTable { if (i != null) { itsVariables.removeElementAt(i.intValue()); itsVariableNames.remove(name); + Hashtable ht = new Hashtable(11); + Enumeration e = itsVariableNames.keys(); + while (e.hasMoreElements()) { + Object k = e.nextElement(); + Integer v = (Integer) itsVariableNames.get(k); + int v2 = v.intValue(); + if (v2 > i.intValue()) + v = new Integer(v2 - 1); + ht.put(k, v); + } + itsVariableNames = ht; } }