rem: if (path[0] == '/')   /* an absolute path was entered */ file.initWithPath(path); else if ((path.indexOf("/../") > 0) || (path.substr(-3) == "/..") || (path.substr(0,3) == "../") || (path == "..")) { /* appendRelativePath doesn't allow .. */ try{ file.initWithPath(file.path + "/" + path); } catch (e) { dump("Couldn't init path\n"+e); return false; } } else { try { file.appendRelativePath(path); } catch (e) { dump("Couldn't append path\n"+e); return false; } } return file; 
add: return fileArray; 
context: function processPath(path){  var file;  if (path[0] == '~')     path  = homeDir.path + path.substring(1);  try{    file = sfile.clone().QueryInterface(nsILocalFile);  } catch(e) {    dump("Couldn't clone\n"+e);    return false;  }  if (path[0] == '/')   /* an absolute path was entered */    file.initWithPath(path);  else if ((path.indexOf("/../") > 0) ||           (path.substr(-3) == "/..") ||           (path.substr(0,3) == "../") ||           (path == "..")) {    /* appendRelativePath doesn't allow .. */    try{      file.initWithPath(file.path + "/" + path);    } catch (e) {      dump("Couldn't init path\n"+e);      return false;    }  }  else {    try {      file.appendRelativePath(path);    } catch (e) {      dump("Couldn't append path\n"+e);      return false;    }  }  return file;}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/72d11531a98c05182f7e0b93e89c5871fb7db820/filepicker.js/buggy/xpfe/components/filepicker/res/content/filepicker.js