From 38540495bfc7ce2a7d6056dd9e839f1cfbb67661 Mon Sep 17 00:00:00 2001 From: "mj%digicool.com" Date: Tue, 9 May 2000 11:33:41 +0000 Subject: [PATCH] Fix missing var's and fix bug in internal state management. --- extensions/xml-rpc/src/nsDictionary.js | 6 ++-- extensions/xml-rpc/src/nsXmlRpcClient.js | 36 +++++++++++++----------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/extensions/xml-rpc/src/nsDictionary.js b/extensions/xml-rpc/src/nsDictionary.js index 1d7576abc7da..c63565fa16ea 100644 --- a/extensions/xml-rpc/src/nsDictionary.js +++ b/extensions/xml-rpc/src/nsDictionary.js @@ -18,9 +18,9 @@ /* * nsDictionary XPCOM component - * Version: $Revision: 1.1 $ + * Version: $Revision: 1.2 $ * - * $Id: nsDictionary.js,v 1.1 2000/05/05 06:06:34 mj%digicool.com Exp $ + * $Id: nsDictionary.js,v 1.2 2000/05/09 11:33:40 mj%digicool.com Exp $ */ /* @@ -45,7 +45,7 @@ nsDictionary.prototype= { getKeys: function(count) { var asKeys = new Array(); - for (sKey in this.hash) asKeys.push(sKey); + for (var sKey in this.hash) asKeys.push(sKey); count.value = asKeys.length; return asKeys; }, diff --git a/extensions/xml-rpc/src/nsXmlRpcClient.js b/extensions/xml-rpc/src/nsXmlRpcClient.js index 195a7cdf3104..e48e0433fa1a 100644 --- a/extensions/xml-rpc/src/nsXmlRpcClient.js +++ b/extensions/xml-rpc/src/nsXmlRpcClient.js @@ -18,9 +18,9 @@ /* * nsXmlRpcClient XPCOM component - * Version: $Revision: 1.5 $ + * Version: $Revision: 1.6 $ * - * $Id: nsXmlRpcClient.js,v 1.5 2000/05/08 15:21:25 mj%digicool.com Exp $ + * $Id: nsXmlRpcClient.js,v 1.6 2000/05/09 11:33:41 mj%digicool.com Exp $ */ /* @@ -36,7 +36,7 @@ const XMLRPCFAULT_CID = Components.ID('{691cb864-0a7e-448c-98ee-4a7f359cf145}'); const XMLRPCFAULT_IID = Components.interfaces.nsIXmlRpcFault; -const DEBUG = true; +const DEBUG = false; const DEBUGPARSE = false; /* @@ -277,7 +277,7 @@ nsXmlRpcClient.prototype = { // All done. debug('Parse finished'); - if (this._fault) { + if (this._foundFault) { try { this._fault = createInstance(XMLRPCFAULT_PROGID, 'nsIXmlRpcFault'); @@ -307,8 +307,9 @@ nsXmlRpcClient.prototype = { }, _parser: null, + _foundFault: false, - // Houston, we have data. Process on first call, don't look back. + // Houston, we have data. onDataAvailable: function(channel, ctxt, inStr, sourceOffset, count) { debug('Data available (' + sourceOffset + ', ' + count + ')'); if (!this._inProgress) return; // No longer interested. @@ -361,9 +362,10 @@ nsXmlRpcClient.prototype = { this._parser.setDocumentHandler(this); // Make sure state is clean - _valueStack = []; - _currValue = null; - _cdata = null; + this._valueStack = []; + this._currValue = null; + this._cdata = null; + this._foundFault = false; } debug('Cranking up the parser, window = ' + count); @@ -534,7 +536,7 @@ nsXmlRpcClient.prototype = { case 'Dictionary': obj = obj.QueryInterface(Components.interfaces.nsIDictionary); writer.startElement('struct'); - keys = obj.getKeys({}); + var keys = obj.getKeys({}); for (var i in keys) { writer.startElement('member'); writer.startElement('name'); @@ -641,14 +643,15 @@ nsXmlRpcClient.prototype = { parser.setDocumentHandler(this); // Make sure state is clean - _valueStack = []; - _currValue = null; - _cdata = null; + this._valueStack = []; + this._currValue = null; + this._cdata = null; + this._foundFault = false; debug('Cranking up the parser'); parser.parse(length); - if (this._fault) { + if (this._foundFault) { try { this._fault = createInstance(XMLRPCFAULT_PROGID, 'nsIXmlRpcFault'); @@ -679,7 +682,7 @@ nsXmlRpcClient.prototype = { if (DEBUGPARSE) debug('Start element ' + name); switch (name) { case 'fault': - this._fault = true; + this._foundFault = true; break; case 'value': @@ -1336,7 +1339,7 @@ function streamToBase64(stream, writer) { while (stream.available()) { var data = []; while (data.length < BASE64CHUNK && stream.available()) { - d = stream.read(1).charCodeAt(0); + var d = stream.read(1).charCodeAt(0); // reading a 0 results in NaN, compensate. data = data.concat(isNaN(d) ? 0 : d); } @@ -1351,7 +1354,6 @@ const base64Pad = '='; function toBase64(data) { var result = ''; var length = data.length; - var i = 0; // Convert every three bytes to 4 ascii characters. for (var i = 0; i < (length - 2); i += 3) { result += toBase64Table[data[i] >> 2]; @@ -1362,7 +1364,7 @@ function toBase64(data) { // Convert the remaining 1 or 2 bytes, pad out to 4 characters. if (length%3) { - i = length - (length%3); + var i = length - (length%3); result += toBase64Table[data[i] >> 2]; if ((length%3) == 2) { result += toBase64Table[((data[i] & 0x03) << 4) + (data[i+1] >> 4)];