From 2d0e99bd1e4f5f2838a1915c6d435649728ef567 Mon Sep 17 00:00:00 2001
From: Bertrand Bellenot <bertrand.bellenot@cern.ch>
Date: Tue, 29 May 2018 13:51:24 +0200
Subject: [PATCH] Convert __FILE__ path in tutorials on Windows

---
 tutorials/io/importCode.C           | 2 +-
 tutorials/tree/clonesA_Event.C      | 2 +-
 tutorials/tree/hsimpleProxyDriver.C | 3 ++-
 tutorials/unfold/testUnfold6.C      | 2 +-
 tutorials/unfold/testUnfold7b.C     | 2 +-
 5 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/tutorials/io/importCode.C b/tutorials/io/importCode.C
index e850c5b6363..b62a5db024f 100644
--- a/tutorials/io/importCode.C
+++ b/tutorials/io/importCode.C
@@ -55,6 +55,6 @@ void importdir(const char *dirname) {
 void importCode() {
    TFile *f = new TFile("code.root","recreate");
    TString dir = gROOT->GetTutorialDir();
-   importdir(dir); //change the directory as you like
+   importdir(gSystem->UnixPathName(dir.Data())); //change the directory as you like
    delete f;
 }
diff --git a/tutorials/tree/clonesA_Event.C b/tutorials/tree/clonesA_Event.C
index e2d485136cb..18d93b5f751 100644
--- a/tutorials/tree/clonesA_Event.C
+++ b/tutorials/tree/clonesA_Event.C
@@ -17,7 +17,7 @@
 #ifndef CLONESA_EVENT_SECOND_RUN
 
 void clonesA_Event() {
-   TString dir = gSystem->DirName(__FILE__);
+   TString dir = gSystem->UnixPathName(gSystem->DirName(__FILE__));
    gROOT->ProcessLine(TString(".L ")+dir+"/clonesA_Event.cxx+");
 #define CLONESA_EVENT_SECOND_RUN yes
    gROOT->ProcessLine("#include \"" __FILE__ "\"");
diff --git a/tutorials/tree/hsimpleProxyDriver.C b/tutorials/tree/hsimpleProxyDriver.C
index cd8fc971743..c1c0f2db047 100644
--- a/tutorials/tree/hsimpleProxyDriver.C
+++ b/tutorials/tree/hsimpleProxyDriver.C
@@ -19,6 +19,7 @@ void hsimpleProxyDriver()
    }
    TTree *ntuple = nullptr;
    file->GetObject("ntuple",ntuple);
-   TString dir = gSystem->DirName(__FILE__);
+   std::string s1(__FILE__);
+   TString dir = gSystem->UnixPathName(s1.substr(0, s1.find_last_of("\\/")).c_str());
    ntuple->Draw(dir+"/hsimpleProxy.C+");
 }
diff --git a/tutorials/unfold/testUnfold6.C b/tutorials/unfold/testUnfold6.C
index 070b65eebe7..96e22910815 100644
--- a/tutorials/unfold/testUnfold6.C
+++ b/tutorials/unfold/testUnfold6.C
@@ -51,7 +51,7 @@ void testUnfold6()
   ofstream dtdFile("tunfoldbinning.dtd");
   TUnfoldBinningXML::WriteDTD(dtdFile);
   dtdFile.close();
-  TString dir = gSystem->DirName(__FILE__);
+  TString dir = gSystem->UnixPathName(gSystem->DirName(__FILE__));
   Int_t error=parser.ParseFile(dir+"/testUnfold6binning.xml");
   if(error) cout<<"error="<<error<<" from TDOMParser\n";
   TXMLDocument const *XMLdocument=parser.GetXMLDocument();
diff --git a/tutorials/unfold/testUnfold7b.C b/tutorials/unfold/testUnfold7b.C
index 3a401140e3d..b73abda9a80 100644
--- a/tutorials/unfold/testUnfold7b.C
+++ b/tutorials/unfold/testUnfold7b.C
@@ -116,7 +116,7 @@ void testUnfold7b()
   // read binning schemes in XML format
 
   TDOMParser parser;
-  TString dir = gSystem->DirName(__FILE__);
+  TString dir = gSystem->UnixPathName(gSystem->DirName(__FILE__));
   Int_t error=parser.ParseFile(dir+"/testUnfold7binning.xml");
   if(error) {
      cout<<"error="<<error<<" from TDOMParser\n";
-- 
GitLab