From bc4fddbb4a018c05f7dd51aca7ed0464681fa860 Mon Sep 17 00:00:00 2001 From: jaseg Date: Tue, 14 Jul 2015 22:08:11 +0200 Subject: [PATCH] Added little censoring script --- .gitignore | 1 + Makefile | 18 +++++++++---- censor | Bin 0 -> 26088 bytes censor.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+), 5 deletions(-) create mode 100755 censor create mode 100644 censor.c diff --git a/.gitignore b/.gitignore index 27af749..12b43b0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ lolcat.o +censor.o diff --git a/Makefile b/Makefile index b6ef5fe..0acbb89 100644 --- a/Makefile +++ b/Makefile @@ -1,19 +1,27 @@ -all: lolcat +all: lolcat censor musl/lib/libc.a musl/lib/crt1.o: cd musl; ./configure make -C musl -lolcat: lolcat.c musl/lib/libc.a musl/lib/crt1.o +musl: musl/lib/libc.a musl/lib/crt1.o + +lolcat: lolcat.c musl gcc -c -std=c11 -Wall -Imusl/include -o lolcat.o lolcat.c gcc -s -nostartfiles -nodefaultlibs -nostdinc -static -ffunction-sections -fdata-sections -Wl,--gc-sections -o lolcat lolcat.o musl/lib/crt1.o musl/lib/libc.a -install: lolcat +censor: censor.c musl + gcc -c -std=c11 -Wall -Imusl/include -o censor.o censor.c + gcc -s -nostartfiles -nodefaultlibs -nostdinc -static -ffunction-sections -fdata-sections -Wl,--gc-sections -o censor censor.o musl/lib/crt1.o musl/lib/libc.a + +install: lolcat censor install lolcat /usr/local/bin + install censor /usr/local/bin clean: - rm -f lolcat lolcat.o + rm -f lolcat lolcat.o censor censor.o + make -C musl clean -.PHONY: install clean +.PHONY: install clean musl diff --git a/censor b/censor new file mode 100755 index 0000000000000000000000000000000000000000..cecacce5356e614ea0d085fca79e7fbf76a7dbe3 GIT binary patch literal 26088 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 literal 0 HcmV?d00001 diff --git a/censor.c b/censor.c new file mode 100644 index 0000000..659d19c --- /dev/null +++ b/censor.c @@ -0,0 +1,73 @@ +/* Copyright (C) 2014 jaseg + * + * DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + * Version 2, December 2004 + * + * Everyone is permitted to copy and distribute verbatim or modified + * copies of this license document, and changing it is allowed as long + * as the name is changed. + * + * DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + * TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + * + * 0. You just DO WHAT THE FUCK YOU WANT TO. + */ + +#define _GNU_SOURCE //for fmemopen + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define ARRAY_SIZE(foo) (sizeof(foo)/sizeof(foo[0])) +const char codes[] = {39,38,44,43,49,48,84,83,119,118,154,148,184,178,214,208,209,203,204,198,199,163,164,128,129,93,99,63,69,33}; + +int main(int argc, char **argv){ + char **inputs = argv+1; + char **inputs_end = argv+argc; + if(inputs == inputs_end){ + char *foo[] = {"-"}; + inputs = foo; + inputs_end = inputs+1; + } + + setlocale(LC_ALL, ""); + + for(char **filename=inputs; filename 0){ + if(strchr("acemnopqrsuvwxyz", c)) + printf("▄"); + else if(strchr("bdfhijkltABCDEFGHIJKLMNOPQRSTUVWXYZ", c)) + printf("█"); + else + printf("%lc", c); + } + + fclose(f); + + if(c != WEOF && c != 0){ + fprintf(stderr, "Error reading input file \"%s\": %s\n", *filename, strerror(errno)); + return 2; + } + } +}