Sigrid Solveig Haflínudóttirdon't dumpmap if redirected to /dev/null95df0a42 years agoHistory
71 lines · 1.1 KB · C
RawDownload
#include <assert.h>#include <err.h>#include <math.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include "otf.h"#include "otfsys.h"#include "argbegin.h" static intotfdiscard(void *aux, const void *src, int sz){	USED(aux); USED(src);	return sz;} #include "test.h" static intotfseek(void *aux, int off, int whence){	if(fseek(aux, off, whence) < 0)		return -1;	return ftell(aux);} static intotfread(void *aux, void *dst, int sz){	return fread(dst, 1, sz, aux);} static intotfwrite(void *aux, const void *src, int sz){	return fwrite(src, 1, sz, aux);} static voidusage(Otfile *out){	printusage(out);	exit(1);} intmain(int argc, char **argv){	char buf[16];	Otfile in, out; 	out.print = (void*)fprintf;	out.write = otfwrite;	out.aux = fdopen(1, "wb");	in.seek = otfseek;	in.read = otfread;	parseoptions(); 	if(readlink("/proc/self/fd/1", buf, sizeof(buf)) == 9 && strcmp(buf, "/dev/null") == 0)		out.write = otfdiscard; 	if((in.aux = fopen(*argv, "rb")) == NULL)		err(1, nil);	if(process(&in, &out) != 0)		errx(1, "%s", otferrstr());	fclose(out.aux); 	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