rc fix
This commit is contained in:
parent
6e06cd0912
commit
a42f6545e8
|
@ -173,7 +173,7 @@ void catch_sig(int sig) {
|
|||
return;
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
int main(int argc, char **argv) {
|
||||
signal(SIGINT, catch_sig);
|
||||
|
||||
/* Alias */
|
||||
|
@ -183,8 +183,21 @@ int main(void) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
unsigned int script_flag = 0;
|
||||
|
||||
FILE *fp = stdin;
|
||||
if (argc == 2) {
|
||||
fp = fopen(argv[1], "r");
|
||||
if (fp == NULL) {
|
||||
fprintf(stderr, "rc: %s: %s\n", argv[1], strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
|
||||
script_flag = 1;
|
||||
}
|
||||
|
||||
while (!exit_flag) {
|
||||
char *str = readline(stdin);
|
||||
char *str = readline(fp);
|
||||
if (str == NULL)
|
||||
break;
|
||||
|
||||
|
@ -211,6 +224,9 @@ int main(void) {
|
|||
}
|
||||
|
||||
free(aliases);
|
||||
if (script_flag)
|
||||
fclose(fp);
|
||||
|
||||
putchar('\n');
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue