rem: var appDir = getFile(KEY_APPDIR); 
context:   _readUpdateLog: function(logFile, entries) {    var appDir = getFile(KEY_APPDIR);    var stream;    try {      stream = openFileInputStream(logFile).          QueryInterface(Components.interfaces.nsILineInputStream);      var dirs = {};      var line = {};      while (stream.readLine(line)) {        var data = line.value.split(" ");        if (data[0] == "EXECUTE" && data[1] == "ADD") {          var file = getFileRelativeTo(appDir, data[2]);                    // remember all parent directories          var parent = file.parent;          while (!parent.equals(appDir)) {            dirs[parent.path] = true;            parent = parent.parent;          }          // remember the file          entries.files.push(file.path);        }      }      for (var d in dirs)        entries.dirs.push(d);      // Sort the directories so that subdirectories are deleted first.      entries.dirs.sort();    } finally {      if (stream)        stream.close();    }  },
meta: 7628	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/7628/52d1180f2a73d5bc1b267f3e2554f960530b9871/nsPostUpdateWin.js/buggy/src/nsPostUpdateWin.js