ref: 321a1b6a441f59e3e5a31f29a64a17e93ffa27f5
parent: 25b86e0a5c4ab39090fb477a131f50a0d2bbe257
author: Sigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>
date: Mon Dec 14 07:30:18 EST 2020
wtf
--- a/ebml.c
+++ b/ebml.c
@@ -335,7 +335,6 @@
if(trackdump != Nodump) /* skip it entirely if no dump required */
continue;
}else if(id == 0xae){ /* track entry */
- fprint(2, "track %d | type %d | want %d\n", e.tracknum, e.tracktype, trackdump);
if(e.tracknum > 0){
if(trackdump == Nodump)
trackinfo(&out, &e);
--- a/main.c
+++ b/main.c
@@ -3,6 +3,12 @@
#include <bio.h>
#include "common.h"
+enum
+{
+ Outbufsz = 256*1024,
+ Inbufsz = 256*1024,
+};
+
Biobuf stderr, out;
int dflag, trackdump;
@@ -16,10 +22,15 @@
void
main(int argc, char **argv)
{
- Biobuf *f;
+ u8int d[4], *outbuf, *inbuf;
char *s, *status;
- u8int d[4];
+ Biobuf f;
+ int fd;
+ fmtinstall('H', encodefmt);
+ fmtinstall('T', isotypefmt);
+ fmtinstall('P', srttsfmt);
+
dflag = 0;
trackdump = Nodump;
ARGBEGIN{
@@ -39,41 +50,42 @@
usage();
}ARGEND
- f = nil;
+ if((outbuf = malloc(Outbufsz)) == nil)
+ sysfatal("memory");
+ if((inbuf = malloc(Inbufsz)) == nil)
+ sysfatal("memory");
+
+ fd = 0;
if(argc == 1)
- f = Bopen(*argv, OREAD);
- else if(argc == 0)
- f = Bfdopen(0, OREAD);
- else
+ fd = open(*argv, OREAD);
+ else if(argc != 0)
usage();
- if(f == nil)
+ if(Binits(&f, fd, OREAD, inbuf, Inbufsz) != 0)
sysfatal("%r");
+ if(Binits(&out, 1, OWRITE, outbuf, Outbufsz) != 0)
+ sysfatal("%r");
+ if(Binit(&stderr, 2, OWRITE) != 0)
+ sysfatal("%r");
- fmtinstall('H', encodefmt);
- fmtinstall('T', isotypefmt);
- fmtinstall('P', srttsfmt);
- Binit(&out, 1, OWRITE);
- Binit(&stderr, 2, OWRITE);
-
status = nil;
- if(Bread(f, d, 4) != 4){
+ if(Bread(&f, d, 4) != 4){
Bprint(&stderr, "unknown format\n");
status = "unknown format";
- }else if(Bungetc(f) < 0 || Bungetc(f) < 0 || Bungetc(f) < 0 || Bungetc(f) < 0){
+ }else if(Bungetc(&f) < 0 || Bungetc(&f) < 0 || Bungetc(&f) < 0 || Bungetc(&f) < 0){
Bprint(&stderr, "seek back failed: %r\n");
status = "seek failed";
}else if(memcmp(d, "\x1a\x45\xdf\xa3", 4) == 0){
- if(ebmlrun(f) != 0){
+ if(ebmlrun(&f) != 0){
Bprint(&stderr, "embl: %r\n");
status = "ebml failed";
}
- }else if(isorun(f) != 0){
+ }else if(isorun(&f) != 0){
Bprint(&stderr, "iso: %r\n");
status = "iso failed";
}
- Bterm(f);
+ Bterm(&f);
Bterm(&out);
Bterm(&stderr);