xref: /aosp_15_r20/external/libgsm/src/debug.c (revision 8ec969cea971fe25ff2d3933a5a9f8504f8e86c9)
1*8ec969ceSTreehugger Robot /*
2*8ec969ceSTreehugger Robot  * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
3*8ec969ceSTreehugger Robot  * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
4*8ec969ceSTreehugger Robot  * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
5*8ec969ceSTreehugger Robot  */
6*8ec969ceSTreehugger Robot 
7*8ec969ceSTreehugger Robot /* $Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/debug.c,v 1.2 1993/01/29 18:22:20 jutta Exp $ */
8*8ec969ceSTreehugger Robot 
9*8ec969ceSTreehugger Robot #include "private.h"
10*8ec969ceSTreehugger Robot 
11*8ec969ceSTreehugger Robot #ifndef	NDEBUG
12*8ec969ceSTreehugger Robot 
13*8ec969ceSTreehugger Robot /* If NDEBUG _is_ defined and no debugging should be performed,
14*8ec969ceSTreehugger Robot  * calls to functions in this module are #defined to nothing
15*8ec969ceSTreehugger Robot  * in private.h.
16*8ec969ceSTreehugger Robot  */
17*8ec969ceSTreehugger Robot 
18*8ec969ceSTreehugger Robot #include <stdio.h>
19*8ec969ceSTreehugger Robot #include "proto.h"
20*8ec969ceSTreehugger Robot 
21*8ec969ceSTreehugger Robot void gsm_debug_words P4( (name, from, to, ptr),
22*8ec969ceSTreehugger Robot 	char 	      * name,
23*8ec969ceSTreehugger Robot 	int		from,
24*8ec969ceSTreehugger Robot 	int		to,
25*8ec969ceSTreehugger Robot 	word		* ptr)
26*8ec969ceSTreehugger Robot {
27*8ec969ceSTreehugger Robot 	int 	nprinted = 0;
28*8ec969ceSTreehugger Robot 
29*8ec969ceSTreehugger Robot 	fprintf( stderr, "%s [%d .. %d]: ", name, from, to );
30*8ec969ceSTreehugger Robot 	while (from <= to) {
31*8ec969ceSTreehugger Robot 		fprintf(stderr, "%d ", ptr[ from ] );
32*8ec969ceSTreehugger Robot 		from++;
33*8ec969ceSTreehugger Robot 		if (nprinted++ >= 7) {
34*8ec969ceSTreehugger Robot 			nprinted = 0;
35*8ec969ceSTreehugger Robot 			if (from < to) putc('\n', stderr);
36*8ec969ceSTreehugger Robot 		}
37*8ec969ceSTreehugger Robot 	}
38*8ec969ceSTreehugger Robot 	putc('\n', stderr);
39*8ec969ceSTreehugger Robot }
40*8ec969ceSTreehugger Robot 
41*8ec969ceSTreehugger Robot void gsm_debug_longwords P4( (name, from, to, ptr),
42*8ec969ceSTreehugger Robot 	char 	      * name,
43*8ec969ceSTreehugger Robot 	int		from,
44*8ec969ceSTreehugger Robot 	int		to,
45*8ec969ceSTreehugger Robot 	longword      * ptr)
46*8ec969ceSTreehugger Robot {
47*8ec969ceSTreehugger Robot 	int 	nprinted = 0;
48*8ec969ceSTreehugger Robot 
49*8ec969ceSTreehugger Robot 	fprintf( stderr, "%s [%d .. %d]: ", name, from, to );
50*8ec969ceSTreehugger Robot 	while (from <= to) {
51*8ec969ceSTreehugger Robot 
52*8ec969ceSTreehugger Robot 		fprintf(stderr, "%ld ", (long)ptr[ from ] );
53*8ec969ceSTreehugger Robot 		from++;
54*8ec969ceSTreehugger Robot 		if (nprinted++ >= 7) {
55*8ec969ceSTreehugger Robot 			nprinted = 0;
56*8ec969ceSTreehugger Robot 			if (from < to) putc('\n', stderr);
57*8ec969ceSTreehugger Robot 		}
58*8ec969ceSTreehugger Robot 	}
59*8ec969ceSTreehugger Robot 	putc('\n', stderr);
60*8ec969ceSTreehugger Robot }
61*8ec969ceSTreehugger Robot 
62*8ec969ceSTreehugger Robot void gsm_debug_longword P2(  (name, value),
63*8ec969ceSTreehugger Robot 	char		* name,
64*8ec969ceSTreehugger Robot 	longword	  value	)
65*8ec969ceSTreehugger Robot {
66*8ec969ceSTreehugger Robot 	fprintf(stderr, "%s: %ld\n", name, (long)value );
67*8ec969ceSTreehugger Robot }
68*8ec969ceSTreehugger Robot 
69*8ec969ceSTreehugger Robot void gsm_debug_word P2(  (name, value),
70*8ec969ceSTreehugger Robot 	char	* name,
71*8ec969ceSTreehugger Robot 	word	  value	)
72*8ec969ceSTreehugger Robot {
73*8ec969ceSTreehugger Robot 	fprintf(stderr, "%s: %ld\n", name, (long)value);
74*8ec969ceSTreehugger Robot }
75*8ec969ceSTreehugger Robot 
76*8ec969ceSTreehugger Robot #endif
77