diff --git a/src/sbbs3/logfile.cpp b/src/sbbs3/logfile.cpp index c702bfe7881f0433bfef9c4ba9ea95b28ed8dbb1..b4d92520aa6afa52df11fc769de527e8ed16486d 100644 --- a/src/sbbs3/logfile.cpp +++ b/src/sbbs3/logfile.cpp @@ -1,7 +1,5 @@ /* Synchronet log file routines */ -/* $Id: logfile.cpp,v 1.69 2020/08/08 19:32:30 rswindell Exp $ */ - /**************************************************************************** * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * @@ -15,21 +13,9 @@ * See the GNU General Public License for more details: gpl.txt or * * http://www.fsf.org/copyleft/gpl.html * * * - * Anonymous FTP access to the most recent released source is available at * - * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net * - * * - * Anonymous CVS access to the development source and modification history * - * is available at cvs.synchro.net:/cvsroot/sbbs, example: * - * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs login * - * (just hit return, no password is necessary) * - * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs checkout src * - * * * For Synchronet coding style and modification guidelines, see * * http://www.synchro.net/source.html * * * - * You are encouraged to submit any modifications (preferably in Unix diff * - * format) via e-mail to mods@synchro.net * - * * * Note: If this box doesn't appear square, then you need to fix your tabs. * ****************************************************************************/ @@ -239,21 +225,28 @@ void sbbs_t::errormsg(int line, const char* function, const char *src, const cha ,long access, const char *extinfo) { char str[2048]; + char errno_str[128]; + char errno_info[256] = ""; /* prevent recursion */ if(errormsg_inside) return; errormsg_inside=true; - safe_snprintf(str,sizeof(str),"ERROR %d (%s) " -#ifdef _WIN32 - "(WinError %u) " -#endif + if(strcmp(action, ERR_CHK) != 0) + safe_snprintf(errno_info, sizeof(errno_info), "%d (%s) " + #ifdef _WIN32 + "(WinError %u) " + #endif + ,errno, safe_strerror(errno, errno_str, sizeof(errno_str)) + #ifdef _WIN32 + ,GetLastError() + #endif + ); + + safe_snprintf(str,sizeof(str),"ERROR %s" "in %s line %u (%s) %s \"%s\" access=%ld %s%s" - ,errno,STRERROR(errno) -#ifdef _WIN32 - ,GetLastError() -#endif + ,errno_info ,src, line, function, action, object, access ,extinfo==NULL ? "":"info=" ,extinfo==NULL ? "":extinfo);