19a747e4fSDavid du Colombier #include <u.h>
29a747e4fSDavid du Colombier #include <libc.h>
39a747e4fSDavid du Colombier #include <ip.h>
49a747e4fSDavid du Colombier #include <fcall.h>
59a747e4fSDavid du Colombier #include "dat.h"
69a747e4fSDavid du Colombier #include "protos.h"
79a747e4fSDavid du Colombier
89a747e4fSDavid du Colombier static int
p_seprint(Msg * m)99a747e4fSDavid du Colombier p_seprint(Msg *m)
109a747e4fSDavid du Colombier {
119a747e4fSDavid du Colombier Fcall f;
129a747e4fSDavid du Colombier char *p;
139a747e4fSDavid du Colombier
149a747e4fSDavid du Colombier memset(&f, 0, sizeof(f));
159a747e4fSDavid du Colombier f.type = 0;
169a747e4fSDavid du Colombier f.data = 0; /* protection for %F */
179b943567SDavid du Colombier if(convM2S(m->ps, m->pe-m->ps, &f)){
189a747e4fSDavid du Colombier p = m->p;
199a747e4fSDavid du Colombier m->p = seprint(m->p, m->e, "%F", &f);
209a747e4fSDavid du Colombier while(p < m->p){
219a747e4fSDavid du Colombier p = strchr(p, '\n');
229a747e4fSDavid du Colombier if(p == nil)
239a747e4fSDavid du Colombier break;
249a747e4fSDavid du Colombier *p = '\\';
259a747e4fSDavid du Colombier }
269a747e4fSDavid du Colombier } else
279a747e4fSDavid du Colombier dump.seprint(m);
289a747e4fSDavid du Colombier m->pr = nil;
299a747e4fSDavid du Colombier return 0;
309a747e4fSDavid du Colombier }
319a747e4fSDavid du Colombier
329a747e4fSDavid du Colombier Proto ninep =
339a747e4fSDavid du Colombier {
349a747e4fSDavid du Colombier "ninep",
35*2cca75a1SDavid du Colombier nil,
36*2cca75a1SDavid du Colombier nil,
379a747e4fSDavid du Colombier p_seprint,
389a747e4fSDavid du Colombier nil,
399a747e4fSDavid du Colombier nil,
40ed397113SDavid du Colombier nil,
413ff48bf5SDavid du Colombier defaultframer,
429a747e4fSDavid du Colombier };
43