leaf.Assign(pGREDir);
NS_CStringSetData(leaf, pGREDir);
GRE_GetGREDirectory(nsILocalFile* *_retval){  NS_ENSURE_ARG_POINTER(_retval);  nsresult rv = NS_ERROR_FAILURE;  // Get the path of the GRE which is compatible with our embedding application  // from the registry  const char *pGREDir = GRE_GetGREPath();  if(pGREDir) {    nsCOMPtr<nsILocalFile> tempLocal;    nsEmbedCString leaf;    leaf.Assign(pGREDir);    rv = NS_NewNativeLocalFile(leaf, PR_TRUE, getter_AddRefs(tempLocal));    if (NS_SUCCEEDED(rv)) {      *_retval = tempLocal;      NS_ADDREF(*_retval);    }  }  return rv;}