1
0

iron out bugs

This commit is contained in:
dtb 2023-08-14 20:41:02 -04:00
parent 6828c30aa1
commit 3fc6198996

View File

@ -9,12 +9,11 @@
/* NetBSD's default size according to an strace */
static unsigned char buf[4096];
static char **default_argv = {
(char [])"cat",
(char [])"-",
NULL
}
static char *program_name = *default_argv;
static char *default_argv[] = {
"cat",
"-",
(char *)NULL
};
static char *stdout_name = "/dev/stdout";
int main(int argc, char *argv[]){
@ -53,13 +52,13 @@ int main(int argc, char *argv[]){
if(arguing && *argv[optind] == '-'){ /* "--" */
arguing = 0;
continue;
}
if(*argv[optind] == '-' && argv[optind][1] == '\0'){ /* "-" */
fn = stdout_name;
fo = stdout;
}else{
fn = argv[optind];
if(stat(fn, &fi) == -1){
fclose(fo);
switch(errno){
case EFAULT: case ENOENT: case ENOTDIR:
fprintf(stderr,
@ -82,11 +81,16 @@ int main(int argc, char *argv[]){
}
}
if(S_ISDIR(fi.st_mode)){
fclose(fo);
fprintf(stderr, "%s: %s: Is a directory.\n",
argv[0], fn);
return EX_DATAERR;
}
if((fo = fopen(fn, "r")) == NULL){
fprintf(stderr,
"%s: %s: Error opening file.\n",
argv[0], fn);
return EX_OSERR;
}
}
while((c = getc(fo)) != EOF)