rem:     var refStart = aArc.Value.indexOf("#"); if (aArc.Value.slice(0, refStart + 1) == LDAPATTR_NAMESPACE_URI) { try { delegate = aSource.GetDelegate("message.ldap", Components.interfaces.nsILDAPMessage); } catch (e) { } if (delegate != null) { var attributeName = aArc.Value.slice(refStart + 1); var attributeArray = this.getAttributeArray(delegate, attributeName); if (attributeArray.length > 0) { return true; } } } 
add:     var refStart = aArc.Value.indexOf("#"); if (aArc.Value.slice(0, refStart + 1) == LDAPATTR_NAMESPACE_URI) { try { delegate = aSource.GetDelegate("message.ldap", Components.interfaces.nsILDAPMessage); } catch (e) { } if (delegate != null) { var attributeName = aArc.Value.slice(refStart + 1); var attributeArray = this.getAttributeArray(delegate, attributeName); if (attributeArray.length > 0) { return true; } } } return false; 
context:     hasArcOut: function(aSource, aArc)     {        if (DEBUG) {            dump("hasArcOut() called with args: \n\t" + aSource.Value +              "\n\t" + aArc.Value + "\n\n");        }        var delegate;        if (aArc.EqualsNode(this.kNC_child)            || aArc.EqualsNode(this.kNC_recursiveChild)) {            // Find children or recursiveChildren. Get the messagelist delegate            // (flat for child, recursive for recursiveChild) for aSource and            // return true if we have one.            var listType = (aArc.EqualsNode(this.kNC_child) ?                            "flat.messagelist.ldap" :                            "recursive.messagelist.ldap");            try {                delegate = aSource.GetDelegate(listType,                       Components.interfaces.nsISupportsArray);            }            catch (e) {            }            if (delegate != null) {                return true;            }        }        else if (aArc.EqualsNode(this.kNC_DN)) {            // Find the DN arc. Get the message delegate for aSource            // and return true if we have a delegate and its dn            // attribute is non-null.            try {                delegate = aSource.GetDelegate("message.ldap",                        Components.interfaces.nsILDAPMessage);            }            catch (e) {            }            return (delegate != null);        }		// Find a different arc. See if we're looking for an LDAP attribute		// arc. If so, get the message delegate for aSource, if we find one		// get the attribute array for the specified LDAP attribute and		// return true if it contains at least one value.		var refStart = aArc.Value.indexOf("#");		if (aArc.Value.slice(0, refStart + 1) == LDAPATTR_NAMESPACE_URI) {			try {				delegate = aSource.GetDelegate("message.ldap",						Components.interfaces.nsILDAPMessage);			}			catch (e) {			}			if (delegate != null) {				var attributeName = aArc.Value.slice(refStart + 1);				var attributeArray = this.getAttributeArray(delegate, 															attributeName);				if (attributeArray.length > 0) {					return true;				}			}		}    },
meta: 5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5459/09f5c85a833f64d14d11e318e412df73ff765ef0/nsLDAPDataSource.js/buggy/directory/xpcom/datasource/nsLDAPDataSource.js