1 /*
2  * Copyright (c) 1980 Regents of the University of California.
3  * All rights reserved.  The Berkeley software License Agreement
4  * specifies the terms and conditions for redistribution.
5  */
6 
7 #ifndef lint
8 static char sccsid[] = "@(#)printnews.c	5.1 (Berkeley) 06/05/85";
9 #endif not lint
10 
11 /*
12  * Print out news during single step tracing.
13  *
14  * We have to handle all the single stepping possibilities,
15  * including combinations.  A combination of single stepping
16  * by line and by instruction causes "curline" to be 0 but
17  * "ss_lines" to be TRUE.  We avoid trying to print lines in this case.
18  */
19 
20 #include "defs.h"
21 #include "breakpoint.h"
22 #include "sym.h"
23 #include "source.h"
24 #include "object.h"
25 #include "mappings.h"
26 #include "machine.h"
27 
28 printnews()
29 {
30     if (ss_variables) {
31 	prvarnews();
32     }
33     if (trcond()) {
34 	if (ss_lines && curline > 0) {
35 	    skimsource(srcfilename(pc));
36 	    printf("trace:  ");
37 	    printlines(curline, curline);
38 	}
39 	if (ss_instructions) {
40 	    printf("inst trace: ");
41 	    printinst(pc, pc);
42 	}
43     }
44     bpact();
45     if (stopcond()) {
46 	isstopped = TRUE;
47 	curline = srcline(pc);
48 	printstatus();
49     }
50 }
51