Browse Source

fix warnings: expression result unused [-Wunused-value]

In the assert()s take advantage of the fact that string constants
("string") are effectively of type 'const char []', which when used in
an expression yield a non-NULL pointer.

An assertion that should always fail can thus be formulated as:
  assert(!"fail);

An assertion where a text message should be added to the expression can
be written as such:
  assert("message" && expression);

Signed-off-by: Giel van Schijndel <me@mortis.eu>
0.8
Giel van Schijndel 14 years ago
parent
commit
ecf1c79aad
  1. 4
      src/db.h
  2. 2
      src/main.cpp
  3. 2
      src/script.h
  4. 4
      src/util.h

4
src/db.h

@ -88,7 +88,7 @@ protected: @@ -88,7 +88,7 @@ protected:
if (!pdb)
return false;
if (fReadOnly)
assert(("Write called on database in read-only mode", false));
assert(!"Write called on database in read-only mode");
// Key
CDataStream ssKey(SER_DISK);
@ -117,7 +117,7 @@ protected: @@ -117,7 +117,7 @@ protected:
if (!pdb)
return false;
if (fReadOnly)
assert(("Erase called on database in read-only mode", false));
assert(!"Erase called on database in read-only mode");
// Key
CDataStream ssKey(SER_DISK);

2
src/main.cpp

@ -1688,7 +1688,7 @@ string GetWarnings(string strFor) @@ -1688,7 +1688,7 @@ string GetWarnings(string strFor)
return strStatusBar;
else if (strFor == "rpc")
return strRPC;
assert(("GetWarnings() : invalid parameter", false));
assert(!"GetWarnings() : invalid parameter");
return "error";
}

2
src/script.h

@ -486,7 +486,7 @@ public: @@ -486,7 +486,7 @@ public:
{
// I'm not sure if this should push the script or concatenate scripts.
// If there's ever a use for pushing a script onto a script, delete this member fn
assert(("warning: pushing a CScript onto a CScript with << is probably not intended, use + to concatenate", false));
assert(!"warning: pushing a CScript onto a CScript with << is probably not intended, use + to concatenate");
return *this;
}

4
src/util.h

@ -264,7 +264,7 @@ public: @@ -264,7 +264,7 @@ public:
// I'd rather be careful than suffer the other more error prone syntax.
// The compiler will optimise away all this loop junk.
#define CRITICAL_BLOCK(cs) \
for (bool fcriticalblockonce=true; fcriticalblockonce; assert(("break caught by CRITICAL_BLOCK!", !fcriticalblockonce)), fcriticalblockonce=false) \
for (bool fcriticalblockonce=true; fcriticalblockonce; assert("break caught by CRITICAL_BLOCK!" && !fcriticalblockonce), fcriticalblockonce=false) \
for (CCriticalBlock criticalblock(cs); fcriticalblockonce && (cs.pszFile=__FILE__, cs.nLine=__LINE__, true); fcriticalblockonce=false, cs.pszFile=NULL, cs.nLine=0)
class CTryCriticalBlock
@ -278,7 +278,7 @@ public: @@ -278,7 +278,7 @@ public:
};
#define TRY_CRITICAL_BLOCK(cs) \
for (bool fcriticalblockonce=true; fcriticalblockonce; assert(("break caught by TRY_CRITICAL_BLOCK!", !fcriticalblockonce)), fcriticalblockonce=false) \
for (bool fcriticalblockonce=true; fcriticalblockonce; assert("break caught by TRY_CRITICAL_BLOCK!" && !fcriticalblockonce), fcriticalblockonce=false) \
for (CTryCriticalBlock criticalblock(cs); fcriticalblockonce && (fcriticalblockonce = criticalblock.Entered()) && (cs.pszFile=__FILE__, cs.nLine=__LINE__, true); fcriticalblockonce=false, cs.pszFile=NULL, cs.nLine=0)

Loading…
Cancel
Save