Age | Commit message (Collapse) | Author |
|
All assert() function calls, with exceptions of libdvdread and libdvdnav, have been
replaced with XINE_ASSERT. Functionally XINE_ASSERT behaves just likes its predecesor but its
adding the ability to print out a stack trace at the point where the assertion fails.
So here are a few examples.
assert (0);
This use of assert was found in a couple locations most favorably being the default case of a switch
statement. This was the only thing there. So if the switch statement was unable to find a match
it would have defaulted to this and the user and the developers would be stuck wonder who died and where.
So it has been replaced with
XINE_ASSERT(0, "We have reach this point and don't have a default case");
It may seem a bit none descriptive but there is more going on behind the scene.
In addition to checking a condition is true/false, in this case '0', the XINE_ASSERT
prints out:
<filename>:<function name>:<line number> - assertion '<assertion expression>' failed. <description>
An example of this might be:
input_dvd.c:open_plugin:1178 - assertion '0' failed. xine_malloc failed!!! You have run out of memory
XINE_ASSERT and its helper function, print_trace, are found in src/xine-utils/xineutils.h
CVS patchset: 4301
CVS date: 2003/02/28 02:51:47
|
|
CVS patchset: 2915
CVS date: 2002/10/22 05:01:39
|
|
CVS patchset: 2896
CVS date: 2002/10/21 07:00:19
|
|
CVS patchset: 2856
CVS date: 2002/10/19 01:29:43
|
|
moved to bswap.h
CVS patchset: 2794
CVS date: 2002/10/06 03:48:13
|
|
CVS patchset: 1109
CVS date: 2001/11/25 13:51:05
|
|
CVS patchset: 441
CVS date: 2001/08/17 13:34:25
|