66 lines · 1.1 KB · C
RawDownload
#include <u.h>#include <libc.h>#include <bio.h>#include "common.h"#include "packet.h" enum {	Timedenum = 1000ULL,}; intsrttsfmt(Fmt *f){	char *s, *e, tmp[64];	uvlong nsec, sec, msec; 	s = tmp;	e = tmp + sizeof(tmp);	nsec = va_arg(f->args, uvlong);	sec = nsec / 1000000000ULL;	msec = nsec/1000000ULL - sec*1000ULL;	if(sec >= 3600){		s = seprint(s, e, "%02llud:", sec/3600);		sec %= 3600;	}	s = seprint(s, e, "%02llud:", sec/60);	sec %= 60;	seprint(s, e, "%02llud,%03llud", sec, msec); 	return fmtstrcpy(f, tmp);} intsrtpacket(Biobuf *out, Packetctx *ctx, Packet *p, int np, uvlong ts, int key){	int i, n;	uchar *s, *o; 	USED(key);	for(i = 0; i < np; i++, p++){		for(s = o = p->data, n = 0; n < p->sz;){			if(*s == '\r'){				*o++ = '\n';				s++;				n++;				if(n >= p->sz)					break;				if(*s == '\n'){					s++;					n++;					continue;				}			}			*o++ = *s++;			n++;		}		if(*o == '\n' && o != p->data)			o--;		Bprint(out, "%llud\n%P --> %P\n", ++ctx->frid, ts, ts+ctx->blockdur);		Bwrite(out, p->data, o - p->data);		Bwrite(out, "\n\n", 2);	}	Bflush(out); 	return 0;}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t