31 lines
519 B
C
31 lines
519 B
C
#include <stdio.h>
|
|
#include <unistd.h> // read, isatty
|
|
|
|
// STDIN_FILENO
|
|
int process_fn(int fn)
|
|
{
|
|
char c[1];
|
|
while (read(fn, c, sizeof(c)) > 0) {
|
|
printf("%c", c[0]);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
int main(int argc, char** argv)
|
|
{
|
|
if (!isatty(STDIN_FILENO)) {
|
|
return process_fn(STDIN_FILENO);
|
|
} else if(argc > 1){
|
|
FILE* fp = fopen(argv[1], "r");
|
|
if(!fp){
|
|
perror("Could not open file");
|
|
return 1;
|
|
}
|
|
return process_fn(fileno(fp));
|
|
} else{
|
|
printf("To do");
|
|
|
|
}
|
|
return 0;
|
|
}
|