summaryrefslogtreecommitdiff
path: root/src/input/input_dvd.c
diff options
context:
space:
mode:
authorStephen Torri <storri@users.sourceforge.net>2003-02-28 02:51:47 +0000
committerStephen Torri <storri@users.sourceforge.net>2003-02-28 02:51:47 +0000
commit49327f43ca2196122a60314e67eeee929efea873 (patch)
tree1b9ce1d2b141d0e411e422df265f6d57183906e1 /src/input/input_dvd.c
parent7eb769e2d3c1abb16e53d87af5f8633967e7f6ce (diff)
downloadxine-lib-49327f43ca2196122a60314e67eeee929efea873.tar.gz
xine-lib-49327f43ca2196122a60314e67eeee929efea873.tar.bz2
Xine assert() replacement:
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
Diffstat (limited to 'src/input/input_dvd.c')
-rw-r--r--src/input/input_dvd.c36
1 files changed, 33 insertions, 3 deletions
diff --git a/src/input/input_dvd.c b/src/input/input_dvd.c
index 786835df7..e7394e48d 100644
--- a/src/input/input_dvd.c
+++ b/src/input/input_dvd.c
@@ -18,7 +18,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: input_dvd.c,v 1.130 2003/02/26 20:45:18 mroi Exp $
+ * $Id: input_dvd.c,v 1.131 2003/02/28 02:51:48 storri Exp $
*
*/
@@ -1175,8 +1175,7 @@ static input_plugin_t *open_plugin (input_class_t *class_gen, xine_stream_t *str
this = (dvd_input_plugin_t *) xine_xmalloc (sizeof (dvd_input_plugin_t));
if (this == NULL) {
- printf("input_dvd.c: xine_xmalloc failed!!!! You have run out of memory\n");
- assert(0);
+ XINE_ASSERT(0, "input_dvd.c: xine_xmalloc failed!!!! You have run out of memory\n");
}
this->input_plugin.get_capabilities = dvd_plugin_get_capabilities;
@@ -1569,6 +1568,37 @@ static void *init_class (xine_t *xine, void *data) {
/*
* $Log: input_dvd.c,v $
+ * Revision 1.131 2003/02/28 02:51:48 storri
+ * Xine assert() replacement:
+ *
+ * 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
+ *
* Revision 1.130 2003/02/26 20:45:18 mroi
* adjust input_dvd to handle DVDNAV_WAIT events properly
* (that is: wait for the fifos to become empty)