+// ======================================================== make_basename
+int make_basename (cpchar filename, std::string& base)
+{
+ const char slash = '/';
+ const char antis = '\\';
+ int lg = strlen (filename);
+ int ifin = -1;
+ int ideb = 0;
+ bool more = true;
+
+ for (int nc = lg-1 ; more && nc>=0 ; --nc)
+ {
+ char car = filename[nc];
+ if (car==slash || car==antis)
+ {
+ if (ifin >0)
+ {
+ ideb = nc + 1;
+ more = false;
+ }
+ }
+ else if (ifin<0)
+ ifin = nc;
+ }
+
+ if (ifin <0)
+ {
+ base = "undefined";
+ return HERR;
+ }
+
+ base = "";
+ for (int nc=ideb ; nc <= ifin ; ++nc)
+ base += filename[nc];
+ return HOK;
+}