diff --git a/Makefile b/Makefile index 48b62f1..df863ca 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,11 @@ -install: man sh +install: man sh c man: mkdir -p $(DESTDIR)$(PREFIX)/man1 cp -f *.1 $(DESTDIR)$(PREFIX)/man1 sh: mkdir -p $(DESTDIR)$(PREFIX)/bin - cp -f paste $(DESTDIR)$(PREFIX)/bin - cp -f bat $(DESTDIR)$(PREFIX)/bin + cp -f scripts/paste $(DESTDIR)$(PREFIX)/bin + cp -f scripts/bat $(DESTDIR)$(PREFIX)/bin +c: + cc progs/scream.c -o progs/scream + cp -f progs/scream $(DESTDIR)$(PREFIX)/bin diff --git a/progs/scream.c b/progs/scream.c new file mode 100644 index 0000000..c39b08f --- /dev/null +++ b/progs/scream.c @@ -0,0 +1,34 @@ +#include +#include + +/* written on new year's eve 2020 + * good night and good riddance */ + +char newchar(char c, int i) { + switch(i) { + case 0: + if(isupper(c)) return c + 32; + if(c == 33) return -2; + else return c; + case 1: + if(islower(c)) return c - 32; + if(c == 33) return -2; + else return c; + default: return -1; + } +} +int advi(int i) { + switch(i) { + case 0: return 1; + case 1: return 0; + default: return -1; + } +} +int main(void) { + char c; + int i = 0; + while((c = getchar()) != EOF) { + putchar(newchar(c, i)); + i = advi(i); + } +}