openFileOutputStream(uninstallLog, PR_WRONLY | PR_APPEND); 
openFileOutputStream(gCopiedLog, PR_WRONLY | PR_APPEND); 
  begin: function() {    var updateLog = this._getUpdateLogFile();    if (!updateLog)      return;    var newEntries = { };    this._readUpdateLog(updateLog, newEntries);    try {      const nsIDirectoryEnumerator = Components.interfaces.nsIDirectoryEnumerator;      const nsILocalFile = Components.interfaces.nsILocalFile;      var prefixWizLog = "install_wizard";      var uninstallDir = getFile(KEY_APPDIR);       uninstallDir.append("uninstall");      var entries = uninstallDir.directoryEntries.QueryInterface(nsIDirectoryEnumerator);      while (true) {        var wizLog = entries.nextFile;        if (!wizLog)          break;        if (wizLog instanceof nsILocalFile && !wizLog.isDirectory() &&            wizLog.leafName.indexOf(prefixWizLog) == 0) {          this._readXPInstallLog(wizLog, newEntries);          wizLog.remove(false);        }      }    }    catch (e) {}    if (entries)      entries.close();    var uninstallLog = this._getUninstallLogFile();    var oldEntries = [];    this._readUninstallLog(uninstallLog, oldEntries);    // Prevent writing duplicate entries in the log file    for (var relPath in newEntries) {      if (oldEntries.indexOf(relPath) != -1)        delete newEntries[relPath];    }    if (newEntries.length == 0)      return;    this._outputStream =        openFileOutputStream(uninstallLog, PR_WRONLY | PR_APPEND);    // The NSIS uninstaller deletes all directories where the installer has    // added a file if the directory is empty after the files have been removed    // so there is no need to log directories.    for (var relPath in newEntries)      this._writeLine(PREFIX_FILE + relPath);  },
5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5459/6264b3f99e8da8a4942b9d6a4c258a93fd0ebab1/nsPostUpdateWin.js/buggy/toolkit/mozapps/update/src/nsPostUpdateWin.js