- Changed to getRealPath to be accessible from outside
authorMarius Tomaschewski <mt@suse.de>
Fri, 29 Sep 2006 11:47:41 +0000 (11:47 +0000)
committerMarius Tomaschewski <mt@suse.de>
Fri, 29 Sep 2006 11:47:41 +0000 (11:47 +0000)
zypp/media/MediaHandler.cc
zypp/media/MediaHandler.h

index 33db99c075c7fc444ced3f983260410be5a05aad..04c08db37696d861ea86d3b3bde5ce4ba16a59fe 100644 (file)
@@ -30,29 +30,6 @@ using namespace std;
 namespace zypp {
   namespace media {
 
-  namespace {
-    std::string getRealPath(const std::string &path)
-    {
-      std::string real;
-#if __GNUC__ > 2
-      char *ptr = ::realpath(path.c_str(), NULL);
-      if( ptr != NULL)
-      {
-        real = ptr;
-        free( ptr);
-      }
-#else
-      char buff[PATH_MAX + 2];
-      memset(buff, '\0', sizeof(buff));
-      if( ::realpath(path.c_str(), buff) != NULL)
-      {
-       real = buff;
-      }
-#endif
-      return real;
-    }
-  };
-
   Pathname MediaHandler::_attachPrefix("");
 
 ///////////////////////////////////////////////////////////////////
@@ -135,6 +112,38 @@ MediaHandler::resetParentId()
   _parentId = 0;
 }
 
+std::string
+MediaHandler::getRealPath(const std::string &path)
+{
+  std::string real;
+  if( !path.empty())
+  {
+#if __GNUC__ > 2
+    char *ptr = ::realpath(path.c_str(), NULL);
+    if( ptr != NULL)
+    {
+      real = ptr;
+      free( ptr);
+    }
+#else
+    char buff[PATH_MAX + 2];
+    memset(buff, '\0', sizeof(buff));
+    if( ::realpath(path.c_str(), buff) != NULL)
+    {
+      real = buff;
+    }
+#endif
+  }
+  return real;
+}
+
+zypp::Pathname
+MediaHandler::getRealPath(const zypp::Pathname &path)
+{
+  return zypp::Pathname(getRealPath(path.asString()));
+}
+
+
 ///////////////////////////////////////////////////////////////////
 //
 //
index 1b3af0dca57546de45bb60f34981dd77b5c5ff38..55136e9dcc2df10ec81951180b4fb91380024cca 100644 (file)
@@ -49,6 +49,9 @@ class MediaHandler {
 
        static bool setAttachPrefix(const Pathname &attach_prefix);
 
+       static std::string getRealPath(const std::string &path);
+       static Pathname    getRealPath(const Pathname    &path);
+
     private:
         /**
         * User defined default attach point prefix.