bool MItem::result( WFileName& fn ) { if( ismakeable() ) { fn.setFName( fName() ); if( _isTarget ) { fn.setExt( ext() ); } else { fn.setExt( rule()->resultExt() ); } return( true ); } return( false ); }
bool MComponent::tryBrowse() { bool rc = false; initWorkFiles( _workFiles ); for( int i=0; i<_workFiles.count(); i++ ) { MItem* m = ((MWorkFile*)_workFiles[i])->item(); WFileName fn = m->component()->relFilename(); // target file name fn.setFName( m->fName() ); fn.setExt( ".mbr" ); if( access( (const char *)fn, F_OK ) == 0 ) { rc = true; break; } } finiWorkFiles(); return( rc ); }
bool Browse::makeFileName( char *buff ) //------------------------------------- { WFileName file; WFileName nfile; char *p; char *q; file = buff; if( file.attribs() ) { // file exists return( true ); } if( _searchPath.length() == 0 ) { return( false ); } p = new char [_searchPath.length() + 1]; if( p == NULL ) return( false ); strcpy( p, _searchPath ); q = strtok( p, ";" ); while( q != NULL ) { nfile = ""; nfile.setDir( q ); nfile.setFName( file.fName() ); nfile.setExt( file.ext() ); if( nfile.attribs() ) { strcpy( buff, nfile.gets() ); delete[] p; return( true ); } q = strtok( NULL, ";" ); } delete[] p; return( false ); }