diff options
author | Stephen Torri <storri@users.sourceforge.net> | 2003-02-28 02:51:47 +0000 |
---|---|---|
committer | Stephen Torri <storri@users.sourceforge.net> | 2003-02-28 02:51:47 +0000 |
commit | 49327f43ca2196122a60314e67eeee929efea873 (patch) | |
tree | 1b9ce1d2b141d0e411e422df265f6d57183906e1 /src/input | |
parent | 7eb769e2d3c1abb16e53d87af5f8633967e7f6ce (diff) | |
download | xine-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')
-rw-r--r-- | src/input/input_dvd.c | 36 | ||||
-rw-r--r-- | src/input/input_mms.c | 3 | ||||
-rw-r--r-- | src/input/input_plugin.h | 12 | ||||
-rw-r--r-- | src/input/input_pnm.c | 1 | ||||
-rw-r--r-- | src/input/input_rtsp.c | 1 | ||||
-rw-r--r-- | src/input/input_v4l.c | 1 | ||||
-rw-r--r-- | src/input/mms.c | 3 | ||||
-rw-r--r-- | src/input/mmsh.c | 3 | ||||
-rw-r--r-- | src/input/pnm.c | 3 |
9 files changed, 43 insertions, 20 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) diff --git a/src/input/input_mms.c b/src/input/input_mms.c index 8fbf1b63c..ad1640bb2 100644 --- a/src/input/input_mms.c +++ b/src/input/input_mms.c @@ -17,7 +17,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_mms.c,v 1.37 2003/02/24 00:12:06 tmattern Exp $ + * $Id: input_mms.c,v 1.38 2003/02/28 02:51:48 storri Exp $ * * mms input plugin based on work from major mms */ @@ -28,7 +28,6 @@ #include <unistd.h> #include <stdio.h> -#include <assert.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> diff --git a/src/input/input_plugin.h b/src/input/input_plugin.h index d0600bb43..853cb986c 100644 --- a/src/input/input_plugin.h +++ b/src/input/input_plugin.h @@ -17,7 +17,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_plugin.h,v 1.45 2003/02/13 16:24:27 mroi Exp $ + * $Id: input_plugin.h,v 1.46 2003/02/28 02:51:48 storri Exp $ */ #ifndef HAVE_INPUT_PLUGIN_H @@ -25,7 +25,7 @@ #include <inttypes.h> #include <sys/types.h> -#include <assert.h> +#include "xineutils.h" #include "buffer.h" #include "configfile.h" @@ -305,8 +305,8 @@ struct input_plugin_s { * Duplicate two mrls entries (s = source, d = destination). */ #define MRL_DUPLICATE(s, d) { \ - assert((s) != NULL); \ - assert((d) != NULL); \ + XINE_ASSERT((s) != NULL, "value 's' is NULL"); \ + XINE_ASSERT((d) != NULL, "value 'd' is NULL"); \ \ if((s)->origin) { \ if((d)->origin) { \ @@ -351,8 +351,8 @@ struct input_plugin_s { #define MRLS_DUPLICATE(s, d) { \ int i = 0; \ \ - assert((s) != NULL); \ - assert((d) != NULL); \ + XINE_ASSERT((s) != NULL, "value 's' is NULL"); \ + XINE_ASSERT((d) != NULL, "value 'd' is NULL"); \ \ while((s) != NULL) { \ d[i] = (xine_mrl_t *) malloc(sizeof(xine_mrl_t)); \ diff --git a/src/input/input_pnm.c b/src/input/input_pnm.c index ce62a81d8..7de2fb7f1 100644 --- a/src/input/input_pnm.c +++ b/src/input/input_pnm.c @@ -26,7 +26,6 @@ #include <unistd.h> #include <stdio.h> -#include <assert.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> diff --git a/src/input/input_rtsp.c b/src/input/input_rtsp.c index dff1aa851..be8b9a261 100644 --- a/src/input/input_rtsp.c +++ b/src/input/input_rtsp.c @@ -26,7 +26,6 @@ #include <unistd.h> #include <stdio.h> -#include <assert.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> diff --git a/src/input/input_v4l.c b/src/input/input_v4l.c index 09fd00486..01d8f1f10 100644 --- a/src/input/input_v4l.c +++ b/src/input/input_v4l.c @@ -26,7 +26,6 @@ #include <unistd.h> #include <stdio.h> -#include <assert.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> diff --git a/src/input/mms.c b/src/input/mms.c index e52f6277b..abc48ef0a 100644 --- a/src/input/mms.c +++ b/src/input/mms.c @@ -17,7 +17,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: mms.c,v 1.21 2003/02/05 00:10:30 miguelfreitas Exp $ + * $Id: mms.c,v 1.22 2003/02/28 02:51:48 storri Exp $ * * based on work from major mms * utility functions to handle communication with an mms server @@ -29,7 +29,6 @@ #include <unistd.h> #include <stdio.h> -#include <assert.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> diff --git a/src/input/mmsh.c b/src/input/mmsh.c index dc1b757d7..2268292e0 100644 --- a/src/input/mmsh.c +++ b/src/input/mmsh.c @@ -17,7 +17,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: mmsh.c,v 1.12 2003/02/16 15:59:16 tmattern Exp $ + * $Id: mmsh.c,v 1.13 2003/02/28 02:51:48 storri Exp $ * * based on mms.c and specs from avifile * (http://avifile.sourceforge.net/asf-1.0.htm) @@ -29,7 +29,6 @@ #include <unistd.h> #include <stdio.h> -#include <assert.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> diff --git a/src/input/pnm.c b/src/input/pnm.c index 48aac07da..48d544a9b 100644 --- a/src/input/pnm.c +++ b/src/input/pnm.c @@ -17,7 +17,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: pnm.c,v 1.12 2003/02/05 00:10:30 miguelfreitas Exp $ + * $Id: pnm.c,v 1.13 2003/02/28 02:51:48 storri Exp $ * * pnm protocol implementation * based upon code from joschka @@ -25,7 +25,6 @@ #include <unistd.h> #include <stdio.h> -#include <assert.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> |