notepad: Die if we get an unknown encoding name in load_encoding_name().

Octavian Voicu octavian.voicu at gmail.com
Sun Sep 11 16:59:33 CDT 2011


On Mon, Sep 12, 2011 at 12:22 AM, Francois Gouget <fgouget at free.fr> wrote:
> -            assert(0 && "bad encoding in load_encoding_name");
> +            assert("bad encoding in load_encoding_name");

Hello,

assert() is a debug macro which generates some code such that, during
runtime: if the argument is non-zero, nothing happens; if the argument
is zero, a message like "Assertion `X' failed" is printed (where X is
exactly the expression that was given as an argument to assert,
string-ified).

assert(X) is something like: "I assert that at this point in the code,
X holds; if you get there and X doesn't hold, tell me and abort the
program".

So assert(0 && "msg") will always trigger an assertion failure and
tell you something like "Assertion `0 && "msg"' failed" then exit,
which is good. If you change it to assert("msg"), condition will
always be true so assertion will never be triggered.

Octavian



More information about the wine-devel mailing list