*/
#include <stdio.h>
#include "path.hh"
+#include "flower-debug.hh"
#ifndef PATHSEP
#define PATHSEP '/'
String &drive, String &dirs, String &filebase, String &extension)
{
// peel off components, one by one.
- int di = path.pos(':');
- if (di)
+ int di = path.index_i(':');
+ if (di >= 0)
{
- drive = path.left(di);
- path = path.right(path.len() - di);
+ drive = path.left_str(di + 1);
+ path = path.right_str(path.len() - di -1);
}
else
drive = "";
- di = path.lastPos(PATHSEP);
- if (di)
+ di = path.index_last_i(PATHSEP);
+ if (di >=0)
{
- dirs = path.left(di);
- path = path.right(path.len()-di);
+ dirs = path.left_str(di + 1);
+ path = path.right_str(path.len()-di -1);
}
else
dirs = "";
- di = path.lastPos('.');
- if (di)
+ di = path.index_last_i('.');
+ if (di >= 0)
{
- di --; // don't forget '.'
- filebase = path.left(di);
- extension =path.right(path.len()-di);
+ filebase = path.left_str(di);
+ extension =path.right_str(path.len()-di);
}
else
{
in any other added path, in this order.
*/
String
-File_path::find(String nm)
+File_path::find(String nm)const
+
{
- for (int i=0; i < size(); i++) {
+ fdebug << "looking for " << nm ;
+ if ( !nm.length_i() || ( nm == "-" ) )
+ return nm;
+ for (int i=0; i < size(); i++) {
+
String path = (*this)[i];
path+= "/"+nm;
-
+ fdebug << path << "? ";
FILE *f = fopen(path, "r"); // ugh!
if (f) {
+ fdebug << "found\n";
fclose(f);
return path;
}
}
- return "";
+ fdebug << "\n";
+ return "";
}