Differenzazione messaggio d'errore in caso di lock esclusivo

del file o file non esistente.


git-svn-id: svn://10.65.10.50/trunk@2472 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1996-01-18 18:20:47 +00:00
parent a965a36900
commit 8b5ed20dd6

View File

@ -1226,9 +1226,21 @@ int TBaseisamfile::_open(
} }
else else
{ {
TString e_msg;
_lasterr = get_error(filehnd()->fhnd); _lasterr = get_error(filehnd()->fhnd);
if (_lasterr == -60)
{
int rc = access(filename(),0); // check for existance
if (rc!=0)
e_msg.format("Il file %d(%s) non esiste, errore %d",num(),filename(),_lasterr);
else
e_msg.format("Il file %d(%s) e' aperto in modo esclusivo da un'altra applicazione",
num(), filename(),_lasterr);
}
if (e_msg.empty())
e_msg.format("Il file %d(%s) non puo' essere aperto, errore %d",num(),filename(),_lasterr);
relisfd(_isamfile); relisfd(_isamfile);
fatal_box("Il file %d non puo' essere aperto, errore %d",num(),_lasterr); fatal_box((const char*) e_msg);
} }
return (_lasterr); return (_lasterr);
} }