rem: components.length--; 
add: delete(components[i]); 
context: function __winreg_open_path(path){	var s = string_init();	var i, components = s.split('\\', path);	var list = new Object();	list.length = 0;	/* cope with a leading slash */	if (components[0] == '') {		for (i=0;i<(components.length-1);i++) {			components[i] = components[i+1];		}		components.length--;	}		if (components.length == 0) {		return undefined;	}	var handle = this.open_hive(components[0]);	if (handle == undefined) {		return undefined;	}	if (components.length == 1) {		return handle;	}	var hpath = components[1];	for (i=2;i<components.length;i++) {		hpath = hpath + "\\" + components[i];	}	io = irpcObj();	io.input.handle  = handle;	io.input.keyname = hpath;	io.input.unknown = 0;	io.input.access_mask = this.SEC_FLAG_MAXIMUM_ALLOWED;	var status = this.winreg_OpenKey(io);	this.close(handle);	if (!status.is_ok) {		return undefined;	}	if (io.output.result != "WERR_OK") {		return undefined;	}		return io.output.handle;}
meta: 502	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/502/783851099b43236666b2fc0cc866834773d6e7b7/winreg.js/buggy/source4/scripting/libjs/winreg.js