From 8b5ed20dd632e61db1438642ef6deb29c4da9f26 Mon Sep 17 00:00:00 2001
From: angelo <angelo@c028cbd2-c16b-5b4b-a496-9718f37d4682>
Date: Thu, 18 Jan 1996 18:20:47 +0000
Subject: [PATCH] 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
---
 include/isam.cpp | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/include/isam.cpp b/include/isam.cpp
index e88e860f9..2cd3c30da 100755
--- a/include/isam.cpp
+++ b/include/isam.cpp
@@ -1226,9 +1226,21 @@ int TBaseisamfile::_open(
   }  
   else            
   {   
+    TString e_msg;
     _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);  
-    fatal_box("Il file %d non puo' essere aperto, errore %d",num(),_lasterr);
+    fatal_box((const char*) e_msg);
   }
   return (_lasterr);            
 }
@@ -1751,7 +1763,7 @@ bool TSystemisamfile::getlcf(
      long flev)  // @parm livello archivi di partenza della convesione
      
 // @comm Recupera le conversioni logiche da effettuare sul file per per passare dal
-//			 livello archivi <p flev> a quello attuale degli archivi standard.
+//       livello archivi <p flev> a quello attuale degli archivi standard.
   
 {
   _flds.destroy();
@@ -2033,7 +2045,7 @@ int TSystemisamfile::load(
     bool extended)  // @parm Indica se interpretare alcune stringhe come macro (default FALSE)
     
 // @comm Se <p extended> e' TRUE e trova alcune stringhe col formato %stringa% (es. %frm%)
-//			 ne sostituisce i valori (es. ditta corrente).
+//       ne sostituisce i valori (es. ditta corrente).
                                       
 // @xref <mf TSystemisamfile::dump>