Ejemplo n.º 1
0
//--------------------------------------------------------------
// resolve possibly relative file name.  
void mgOSResolveRelativeName(
  const char* sourceFile,
  const char* relName,
  mgString& absName)
{
  mgString name(relName);
  mgOSFixFileName(name);

  // if relative name starts with /, we're done
  if (name.startsWith("/"))
  {
    absName = name;
    return;
  }

  // assume it's really relative.  strip last directory in source file
  absName = sourceFile;
  int lastSlash = absName.reverseFind(absName.length(), "/");
  if (lastSlash != -1)
    absName.deleteAt(lastSlash+1, absName.length()-(lastSlash+1));
  else absName.empty();  // source file has no dir
  
  absName += name;
}