Added little censoring script

This commit is contained in:
jaseg 2015-07-14 22:08:11 +02:00
parent 845a1016ec
commit bc4fddbb4a
4 changed files with 87 additions and 5 deletions

1
.gitignore vendored
View file

@ -1 +1,2 @@
lolcat.o
censor.o

View file

@ -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

BIN
censor Executable file

Binary file not shown.

73
censor.c Normal file
View file

@ -0,0 +1,73 @@
/* Copyright (C) 2014 jaseg <github@jaseg.net>
*
* 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 <stdint.h>
#include <stdio.h>
#include <wchar.h>
#include <ctype.h>
#include <err.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
#include <unistd.h>
#include <sys/time.h>
#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<inputs_end; filename++){
FILE *f = stdin;
if(strcmp(*filename, "-"))
f = fopen(*filename, "r");
if(!f){
fprintf(stderr, "Cannot open input file \"%s\": %s\n", *filename, strerror(errno));
return 2;
}
int c;
while((c = fgetwc(f)) > 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;
}
}
}