k9core

Unnamed repository
Log | Files | Refs | LICENSE

commit 069bde6d7046b7c246d2823dbc44bd3073c0c461
parent 642d6f396c0e196702fa88949597e783350bf58d
Author: qorg11 <qorg@vxempire.xyz>
Date:   Wed,  5 Aug 2020 17:26:03 +0200

i kinda hate posix because -n, but there it is
i just have to add a for loop so it iterates every file passed
by args

Diffstat:
Msrc/head.c | 29++++++++++++++++++++++++-----
1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/src/head.c b/src/head.c @@ -4,8 +4,14 @@ int head(FILE *file, int lines) { + if(file == NULL) + { + printf("error opening file\n"); + return 1; + } int a; int c = 0; + while((a = fgetc(file)) != EOF) { if(a == '\n') @@ -24,14 +30,27 @@ int main(int argc, char *argv[]) { int lines = 10; - if(argc == 1) - head(stdin,lines); - if(argc == 2) - head(fopen(argv[1],"r"),lines); - if(argc == 3) + if(argv[1][1] == 'n' && argc == 4) + { + + } + + switch(argc) { + case 1: + head(stdin,lines); + break; + case 2: + head(fopen(argv[1],"r"),lines); + break; + case 3: lines = abs(atoi(argv[1])); head(fopen(argv[2],"r"),lines); + break; + default: + lines = atoi(argv[2]); + head(fopen(argv[3],"r"),lines); + break; } return 0; }