ref: d47a99e0e2c8268d0d15d2748643387ed1c967a2
dir: /cmd.c/
#include <u.h>
#include <libc.h>
#include <fcall.h>
#include <thread.h>
#include <9p.h>
#include "svc.h"
int
Cconv(Fmt *fp)
{
char s[CmdSize];
Cmd *c;
c = va_arg(fp->args, Cmd*);
switch(c->type){
case ServiceCmd:
if(strlen(c->data) > 0)
snprint(s, sizeof(s), "%s %s\n%s", c->svccmd, c->buffer, c->data);
else
snprint(s, sizeof(s), "%s %s", c->svccmd, c->buffer);
break;
case InputCmd:
snprint(s, sizeof(s), "input %s\n%s", c->buffer, c->data);
break;
case FlushCmd:
snprint(s, sizeof(s), "flush");
break;
}
return fmtstrcpy(fp, s);
}