commit e295f483d975d7e926bb5a2527aeab10c150dd4c Author: Oswald Buddenhagen <o...@users.sf.net> Date: Fri Jan 1 14:46:31 2021 +0100
save errno in sys_error() the print functions prior to perror() might otherwise clobber it. src/util.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/util.c b/src/util.c index 7f8c453..dd6b12c 100644 --- a/src/util.c +++ b/src/util.c @@ -27,6 +27,7 @@ #include <stdlib.h> #include <unistd.h> #include <fcntl.h> +#include <errno.h> #include <string.h> #include <ctype.h> #include <pwd.h> @@ -154,9 +155,11 @@ vsys_error( const char *msg, va_list va ) { char buf[1024]; + int errno_bak = errno; flushn(); if ((uint)vsnprintf( buf, sizeof(buf), msg, va ) >= sizeof(buf)) oob(); + errno = errno_bak; perror( buf ); } _______________________________________________ isync-devel mailing list isync-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/isync-devel