rv = mSHist->getCurrentIndex(index);
rv = mSHist->getCurrentIndex(indix);
nsWebShell::ReloadDocument(const char* aCharset,                            nsCharsetSource aSource){  // XXX hack. kee the aCharset and aSource wait to pick it up  mHintCharset = aCharset;  mHintCharsetSource= aSource;  nsString * s=nsnull;  /* The generic session history code that is in webshell    * is now obsolete. Use nsISessionHistory instead   */#ifdef OLD_HISTORY    s = (nsString*) mHistory.ElementAt(mHistoryIndex);#else  if (mSHist) {     PRInt32  index = 0;     nsresult rv;     rv = mSHist->getCurrentIndex(index);     if (NS_SUCCEEDED(rv)) {        PRUnichar * url=nsnull;        rv = mSHist->GetURLForIndex(index, &url);        if (NS_SUCCEEDED(rv))          s = new nsString(url);            }  }#endif  nsresult rv = NS_OK;  if(s) {    char* url = s->ToNewCString();    if(url) {#ifdef  OLD_HISTORY      mHistoryIndex--;#endif  /* OLD_HISTORY */      /* When using nsISessionHistory, the refresh callback should       * probably call LoadURL with PR_FALSE as the third argument.       * Not sure how well this method is being used.       */      rv =  this->RefreshURL((const char*)url,0,PR_FALSE);      delete [] url;    }    delete s;  }  return NS_OK;}