2 path.cc - manipulation of paths and filenames.
6 #include "flower-debug.hh"
13 @param path the original full filename
14 @return 4 components of the path. They can be empty
17 split_path (String path,
18 String &drive, String &dirs, String &filebase, String &extension)
20 // peel off components, one by one.
21 int di = path.index_i (':');
24 drive = path.left_str (di + 1);
25 path = path.right_str (path.len() - di -1);
30 di = path.index_last_i (PATHSEP);
33 dirs = path.left_str (di + 1);
34 path = path.right_str (path.len()-di -1);
39 di = path.index_last_i ('.');
42 filebase = path.left_str (di);
43 extension =path.right_str (path.len()-di);
53 It will search in the current dir, in the construction-arg, and
54 in any other added path, in this order.
57 File_path::find (String nm) const
60 fdebug << "looking for " << nm << ": ";
61 if ( !nm.length_i() || ( nm == "-") )
63 for (int i=0; i < size(); i++)
66 String path = elem(i);
67 if ( path.length_i() )
72 fdebug << path << "? ";
73 FILE *f = fopen (path.ch_C(), "r"); // ugh!