46 lines
No EOL
1 KiB
C
46 lines
No EOL
1 KiB
C
#include<version.h>
|
|
#include"stdin.h"
|
|
#include"utils.h"
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include<sys/stat.h>
|
|
#include<string.h>
|
|
int main(int argc,char *argv[])
|
|
{;
|
|
if(argc==1) {
|
|
read_from_stdin();
|
|
return 0;
|
|
}
|
|
if(strcmp(argv[1],"-v")==0)
|
|
{
|
|
printf("patricus utils, version %s",version);
|
|
return 0;
|
|
}
|
|
for(int meowing=1;meowing<argc;meowing++){
|
|
if(strcmp(argv[meowing ],"-")==0)
|
|
{
|
|
read_from_stdin();
|
|
}
|
|
FILE *f=fopen(argv[meowing],"r");
|
|
//opening a file from cli arguments
|
|
struct stat filecheck;
|
|
//here we see if the user is an idiot and the file doesn't exist, we won't crash if a file is dir so
|
|
if(stat(argv[meowing],&filecheck)==-1) {
|
|
printf("file not found.");
|
|
return 1;
|
|
}
|
|
//I actually wrote a check for dirs.
|
|
if((filecheck.st_mode&S_IFDIR)==S_IFDIR)
|
|
{
|
|
printf("it is a directory");
|
|
}
|
|
int size=ftell(f);
|
|
char *meow=malloc(1);
|
|
fseek(f,0,SEEK_SET);
|
|
int readBytes;
|
|
while ((readBytes = fread(meow, 1, 1, f ))== 1) {
|
|
printf("%c",*meow);
|
|
}
|
|
fclose(f);
|
|
free(meow);
|
|
}} |