From 864d8897cedc882693ede50deb8960df85952f35 Mon Sep 17 00:00:00 2001
From: Emmanuel Christophe <emmanuel.christophe@orfeo-toolbox.org>
Date: Fri, 24 Apr 2009 17:37:52 +0800
Subject: [PATCH] BUG: ossim, correction when path contain '_'

---
 .../otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp     | 4 +++-
 .../otbossim/src/ossim/support_data/ossimIkonosMetaData.cpp   | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp b/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp
index 2b91947d9c..65918bc0a1 100644
--- a/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp
+++ b/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp
@@ -890,7 +890,7 @@ bool ossimIkonosRpcModel::parseTiffFile(const ossimFilename& filename)
    //the metadata file will be po_2619900_metadata.txt
    std::cout << "Parsing metadata..." << std::endl;
    ossimString separator("_");
-   ossimString filenamebase = filename.noExtension();
+   ossimString filenamebase = filename.fileNoExtension();
    std::vector< ossimString > filenameparts = filenamebase.split(separator);
 
    if(filenameparts.size() < 2)
@@ -903,6 +903,8 @@ bool ossimIkonosRpcModel::parseTiffFile(const ossimFilename& filename)
    metadatafile += filenameparts[1];
    metadatafile += "_metadata.txt";
 
+   metadatafile.setPath(filename.path());
+
    parseMetaData (metadatafile);
    if (getErrorStatus()) //check for errors in parsing metadata file
    {
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimIkonosMetaData.cpp b/Utilities/otbossim/src/ossim/support_data/ossimIkonosMetaData.cpp
index f9d874909d..89fc27aa9c 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimIkonosMetaData.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimIkonosMetaData.cpp
@@ -48,7 +48,7 @@ ossimIkonosMetaData::ossimIkonosMetaData(const ossimFilename& imageFilename)
    //the metadata file will be po_2619900_metadata.txt
   std::cout << "Parsing metadata..." << std::endl;
   ossimString separator("_");
-  ossimString filenamebase = imageFilename.noExtension();
+  ossimString filenamebase = imageFilename.fileNoExtension();
   std::vector< ossimString > filenameparts = filenamebase.split(separator);
 
   if(filenameparts.size() < 2)
@@ -62,6 +62,8 @@ ossimIkonosMetaData::ossimIkonosMetaData(const ossimFilename& imageFilename)
   metadatafile += filenameparts[1];
   metadatafile += "_metadata.txt";
 
+  metadatafile.setPath(imageFilename.path());
+
   if(! parseMetaData(metadatafile))
   {
     ossimNotify(ossimNotifyLevel_WARN)
-- 
GitLab