From 6ab8bc65e20d2c4e8a1471bb168d9a9dffd03c33 Mon Sep 17 00:00:00 2001 From: Mattias Ellert Date: Tue, 2 Nov 2021 15:38:54 +0100 Subject: [PATCH] Fix build failure on platforms where char is unsigned (ARM, PPC and S390X) /builddir/build/BUILD/xrootd-5.3.2/src/XrdSys/XrdSysTrace.cc:177:22: error: comparison is always false due to limited range of data type [-Werror=type-limits] 177 | if (doHex < 0) doHex = 0; | ~~~~~~^~~ /builddir/build/BUILD/xrootd-5.3.2/src/XrdSys/XrdSysTrace.cc: In member function 'XrdSysTrace& XrdSysTrace::operator<<(short int)': /builddir/build/BUILD/xrootd-5.3.2/src/XrdSys/XrdSysTrace.cc:232:14: error: comparison is always false due to limited range of data type [-Werror=type-limits] 232 | if (doHex < 0) doHex = 0; | ~~~~~~^~~ /builddir/build/BUILD/xrootd-5.3.2/src/XrdSys/XrdSysTrace.cc: In member function 'XrdSysTrace& XrdSysTrace::operator<<(int)': /builddir/build/BUILD/xrootd-5.3.2/src/XrdSys/XrdSysTrace.cc:255:14: error: comparison is always false due to limited range of data type [-Werror=type-limits] 255 | if (doHex < 0) doHex = 0; | ~~~~~~^~~ /builddir/build/BUILD/xrootd-5.3.2/src/XrdSys/XrdSysTrace.cc: In member function 'XrdSysTrace& XrdSysTrace::operator<<(long long int)': /builddir/build/BUILD/xrootd-5.3.2/src/XrdSys/XrdSysTrace.cc:291:14: error: comparison is always false due to limited range of data type [-Werror=type-limits] 291 | if (doHex < 0) doHex = 0; | ~~~~~~^~~ /builddir/build/BUILD/xrootd-5.3.2/src/XrdSys/XrdSysTrace.cc: In member function 'XrdSysTrace& XrdSysTrace::operator<<(short unsigned int)': /builddir/build/BUILD/xrootd-5.3.2/src/XrdSys/XrdSysTrace.cc:314:14: error: comparison is always false due to limited range of data type [-Werror=type-limits] 314 | if (doHex < 0) doHex = 0; | ~~~~~~^~~ /builddir/build/BUILD/xrootd-5.3.2/src/XrdSys/XrdSysTrace.cc: In member function 'XrdSysTrace& XrdSysTrace::operator<<(unsigned int)': /builddir/build/BUILD/xrootd-5.3.2/src/XrdSys/XrdSysTrace.cc:337:14: error: comparison is always false due to limited range of data type [-Werror=type-limits] 337 | if (doHex < 0) doHex = 0; | ~~~~~~^~~ /builddir/build/BUILD/xrootd-5.3.2/src/XrdSys/XrdSysTrace.cc: In member function 'XrdSysTrace& XrdSysTrace::operator<<(long long unsigned int)': /builddir/build/BUILD/xrootd-5.3.2/src/XrdSys/XrdSysTrace.cc:373:14: error: comparison is always false due to limited range of data type [-Werror=type-limits] 373 | if (doHex < 0) doHex = 0; | ~~~~~~^~~ --- src/XrdSys/XrdSysTrace.hh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/XrdSys/XrdSysTrace.hh b/src/XrdSys/XrdSysTrace.hh index 364c55fbef1..5dd3c667e46 100644 --- a/src/XrdSys/XrdSysTrace.hh +++ b/src/XrdSys/XrdSysTrace.hh @@ -116,7 +116,7 @@ const char *iName; short dPnt; short dFree; short vPnt; -char doHex; +signed char doHex; struct iovec ioVec[iovMax]; char pBuff[pfxMax]; char dBuff[txtMax];