xref: /plan9/sys/src/cmd/ip/snoopy/ninep.c (revision 2cca75a1b2b8c6083390679d69d5c50cf66d9a01)
1 #include <u.h>
2 #include <libc.h>
3 #include <ip.h>
4 #include <fcall.h>
5 #include "dat.h"
6 #include "protos.h"
7 
8 static int
p_seprint(Msg * m)9 p_seprint(Msg *m)
10 {
11 	Fcall f;
12 	char *p;
13 
14 	memset(&f, 0, sizeof(f));
15 	f.type = 0;
16 	f.data = 0;	/* protection for %F */
17 	if(convM2S(m->ps, m->pe-m->ps, &f)){
18 		p = m->p;
19 		m->p = seprint(m->p, m->e, "%F", &f);
20 		while(p < m->p){
21 			p = strchr(p, '\n');
22 			if(p == nil)
23 				break;
24 			*p = '\\';
25 		}
26 	} else
27 		dump.seprint(m);
28 	m->pr = nil;
29 	return 0;
30 }
31 
32 Proto ninep =
33 {
34 	"ninep",
35 	nil,
36 	nil,
37 	p_seprint,
38 	nil,
39 	nil,
40 	nil,
41 	defaultframer,
42 };
43