Added tprint
This commit is contained in:
parent
73de097471
commit
1f0bd271b9
2 changed files with 51 additions and 0 deletions
9
tprint/Makefile
Normal file
9
tprint/Makefile
Normal file
|
@ -0,0 +1,9 @@
|
|||
PREFIX ?= /usr
|
||||
|
||||
tprint: tprint.c
|
||||
gcc -o tprint tprint.c
|
||||
|
||||
install: tprint
|
||||
install -D -m 755 tprint ${DESTDIR}${PREFIX}/bin/tprint
|
||||
|
||||
.PHONY: tprint
|
42
tprint/tprint.c
Normal file
42
tprint/tprint.c
Normal file
|
@ -0,0 +1,42 @@
|
|||
/***
|
||||
* Small program to output stdin or a file one character a time, like it would be typed
|
||||
* Author: madmaurice <madmaurice@zom.bi>
|
||||
* License: GPL
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
//Options
|
||||
float speed = 0.3;
|
||||
char* file = NULL;
|
||||
|
||||
FILE* fh = stdin;
|
||||
char c;
|
||||
int v;
|
||||
argv++; // Cut first element
|
||||
for(int i = 1; i < argc; i++, argv++) {
|
||||
if(strcmp(*argv,"-s") == 0) {
|
||||
argv++; i++;
|
||||
v = atoi(*argv);
|
||||
if(v == 0) v = 1000;
|
||||
speed = 1.0/v;
|
||||
} else {
|
||||
fh = fopen(*argv,"r");
|
||||
}
|
||||
}
|
||||
|
||||
while((c = fgetc(fh)) != EOF) {
|
||||
fputc(c,stdout);
|
||||
fflush(stdout);
|
||||
usleep(speed * 1000000);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in a new issue