Tried fixing squirrel utils for 64bit: SQInteger is a long, which is longer than...
[supertux.git] / src / file_system.cpp
index e5721dc..266da81 100644 (file)
@@ -32,9 +32,9 @@ namespace FileSystem
 std::string dirname(const std::string& filename)
 {
   std::string::size_type p = filename.find_last_of('/');
-  if(p == std::string::npos)                              
+  if(p == std::string::npos)
     return "";
-  
+
   return filename.substr(0, p+1);
 }
 
@@ -47,6 +47,15 @@ std::string basename(const std::string& filename)
   return filename.substr(p+1, filename.size()-p-1);
 }
 
+std::string strip_extension(const std::string& filename)
+{
+  std::string::size_type p = filename.find_last_of('.');
+  if(p == std::string::npos)
+    return filename;
+
+  return filename.substr(0, p);
+}
+
 std::string normalize(const std::string& filename)
 {
   std::vector<std::string> path_stack;
@@ -67,11 +76,11 @@ std::string normalize(const std::string& filename)
     size_t len = p - pstart;
     if(len == 0)
       break;
-    
+
     std::string pathelem(pstart, p-pstart);
     if(pathelem == ".")
       continue;
-    
+
     if(pathelem == "..") {
       if(path_stack.empty()) {
 
@@ -99,4 +108,3 @@ std::string normalize(const std::string& filename)
 }
 
 }
-