aboutsummaryrefslogtreecommitdiff
path: root/sh.c
diff options
context:
space:
mode:
Diffstat (limited to 'sh.c')
-rw-r--r--sh.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/sh.c b/sh.c
index bb8a456b7..4b1ae6d27 100644
--- a/sh.c
+++ b/sh.c
@@ -250,7 +250,7 @@ static int builtin_exec(struct job *cmd, struct jobSet *junk)
250 { 250 {
251 cmd->progs[0].argv++; 251 cmd->progs[0].argv++;
252 execvp(cmd->progs[0].argv[0], cmd->progs[0].argv); 252 execvp(cmd->progs[0].argv[0], cmd->progs[0].argv);
253 fatalError("Exec to %s failed: %s\n", cmd->progs[0].argv[0], 253 error_msg_and_die("Exec to %s failed: %s\n", cmd->progs[0].argv[0],
254 strerror(errno)); 254 strerror(errno));
255 } 255 }
256 return EXIT_SUCCESS; 256 return EXIT_SUCCESS;
@@ -273,12 +273,12 @@ static int builtin_fg_bg(struct job *cmd, struct jobSet *jobList)
273 273
274 if (!jobList->head) { 274 if (!jobList->head) {
275 if (!cmd->progs[0].argv[1] || cmd->progs[0].argv[2]) { 275 if (!cmd->progs[0].argv[1] || cmd->progs[0].argv[2]) {
276 errorMsg("%s: exactly one argument is expected\n", 276 error_msg("%s: exactly one argument is expected\n",
277 cmd->progs[0].argv[0]); 277 cmd->progs[0].argv[0]);
278 return EXIT_FAILURE; 278 return EXIT_FAILURE;
279 } 279 }
280 if (sscanf(cmd->progs[0].argv[1], "%%%d", &jobNum) != 1) { 280 if (sscanf(cmd->progs[0].argv[1], "%%%d", &jobNum) != 1) {
281 errorMsg("%s: bad argument '%s'\n", 281 error_msg("%s: bad argument '%s'\n",
282 cmd->progs[0].argv[0], cmd->progs[0].argv[1]); 282 cmd->progs[0].argv[0], cmd->progs[0].argv[1]);
283 return EXIT_FAILURE; 283 return EXIT_FAILURE;
284 for (job = jobList->head; job; job = job->next) { 284 for (job = jobList->head; job; job = job->next) {
@@ -292,7 +292,7 @@ static int builtin_fg_bg(struct job *cmd, struct jobSet *jobList)
292 } 292 }
293 293
294 if (!job) { 294 if (!job) {
295 errorMsg("%s: unknown job %d\n", 295 error_msg("%s: unknown job %d\n",
296 cmd->progs[0].argv[0], jobNum); 296 cmd->progs[0].argv[0], jobNum);
297 return EXIT_FAILURE; 297 return EXIT_FAILURE;
298 } 298 }
@@ -444,7 +444,7 @@ static int builtin_then(struct job *cmd, struct jobSet *junk)
444 char* charptr1=cmd->text+5; /* skip over the leading 'then ' */ 444 char* charptr1=cmd->text+5; /* skip over the leading 'then ' */
445 445
446 if (! (cmd->jobContext & (IF_TRUE_CONTEXT|IF_FALSE_CONTEXT))) { 446 if (! (cmd->jobContext & (IF_TRUE_CONTEXT|IF_FALSE_CONTEXT))) {
447 errorMsg("unexpected token `then'\n"); 447 error_msg("unexpected token `then'\n");
448 return EXIT_FAILURE; 448 return EXIT_FAILURE;
449 } 449 }
450 /* If the if result was FALSE, skip the 'then' stuff */ 450 /* If the if result was FALSE, skip the 'then' stuff */
@@ -471,7 +471,7 @@ static int builtin_else(struct job *cmd, struct jobSet *junk)
471 char* charptr1=cmd->text+5; /* skip over the leading 'else ' */ 471 char* charptr1=cmd->text+5; /* skip over the leading 'else ' */
472 472
473 if (! (cmd->jobContext & (IF_TRUE_CONTEXT|IF_FALSE_CONTEXT))) { 473 if (! (cmd->jobContext & (IF_TRUE_CONTEXT|IF_FALSE_CONTEXT))) {
474 errorMsg("unexpected token `else'\n"); 474 error_msg("unexpected token `else'\n");
475 return EXIT_FAILURE; 475 return EXIT_FAILURE;
476 } 476 }
477 /* If the if result was TRUE, skip the 'else' stuff */ 477 /* If the if result was TRUE, skip the 'else' stuff */
@@ -495,7 +495,7 @@ static int builtin_else(struct job *cmd, struct jobSet *junk)
495static int builtin_fi(struct job *cmd, struct jobSet *junk) 495static int builtin_fi(struct job *cmd, struct jobSet *junk)
496{ 496{
497 if (! (cmd->jobContext & (IF_TRUE_CONTEXT|IF_FALSE_CONTEXT))) { 497 if (! (cmd->jobContext & (IF_TRUE_CONTEXT|IF_FALSE_CONTEXT))) {
498 errorMsg("unexpected token `fi'\n"); 498 error_msg("unexpected token `fi'\n");
499 return EXIT_FAILURE; 499 return EXIT_FAILURE;
500 } 500 }
501 /* Clear out the if and then context bits */ 501 /* Clear out the if and then context bits */
@@ -646,7 +646,7 @@ static int setupRedirections(struct childProgram *prog)
646 if (openfd < 0) { 646 if (openfd < 0) {
647 /* this could get lost if stderr has been redirected, but 647 /* this could get lost if stderr has been redirected, but
648 bash and ash both lose it as well (though zsh doesn't!) */ 648 bash and ash both lose it as well (though zsh doesn't!) */
649 errorMsg("error opening %s: %s\n", redir->filename, 649 error_msg("error opening %s: %s\n", redir->filename,
650 strerror(errno)); 650 strerror(errno));
651 return 1; 651 return 1;
652 } 652 }
@@ -820,7 +820,7 @@ static void globLastArgument(struct childProgram *prog, int *argcPtr,
820 if (strpbrk(prog->argv[argc_l - 1],"*[]?")!= NULL){ 820 if (strpbrk(prog->argv[argc_l - 1],"*[]?")!= NULL){
821 rc = glob(prog->argv[argc_l - 1], flags, NULL, &prog->globResult); 821 rc = glob(prog->argv[argc_l - 1], flags, NULL, &prog->globResult);
822 if (rc == GLOB_NOSPACE) { 822 if (rc == GLOB_NOSPACE) {
823 errorMsg("out of space during glob operation\n"); 823 error_msg("out of space during glob operation\n");
824 return; 824 return;
825 } else if (rc == GLOB_NOMATCH || 825 } else if (rc == GLOB_NOMATCH ||
826 (!rc && (prog->globResult.gl_pathc - i) == 1 && 826 (!rc && (prog->globResult.gl_pathc - i) == 1 &&
@@ -927,7 +927,7 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi
927 if (*src == '\\') { 927 if (*src == '\\') {
928 src++; 928 src++;
929 if (!*src) { 929 if (!*src) {
930 errorMsg("character expected after \\\n"); 930 error_msg("character expected after \\\n");
931 freeJob(job); 931 freeJob(job);
932 return 1; 932 return 1;
933 } 933 }
@@ -1009,7 +1009,7 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi
1009 chptr++; 1009 chptr++;
1010 1010
1011 if (!*chptr) { 1011 if (!*chptr) {
1012 errorMsg("file name expected after %c\n", *src); 1012 error_msg("file name expected after %c\n", *src);
1013 freeJob(job); 1013 freeJob(job);
1014 job->numProgs=0; 1014 job->numProgs=0;
1015 return 1; 1015 return 1;
@@ -1028,7 +1028,7 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi
1028 if (*prog->argv[argc_l]) 1028 if (*prog->argv[argc_l])
1029 argc_l++; 1029 argc_l++;
1030 if (!argc_l) { 1030 if (!argc_l) {
1031 errorMsg("empty command in pipe\n"); 1031 error_msg("empty command in pipe\n");
1032 freeJob(job); 1032 freeJob(job);
1033 job->numProgs=0; 1033 job->numProgs=0;
1034 return 1; 1034 return 1;
@@ -1055,7 +1055,7 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi
1055 src++; 1055 src++;
1056 1056
1057 if (!*src) { 1057 if (!*src) {
1058 errorMsg("empty command in pipe\n"); 1058 error_msg("empty command in pipe\n");
1059 freeJob(job); 1059 freeJob(job);
1060 job->numProgs=0; 1060 job->numProgs=0;
1061 return 1; 1061 return 1;
@@ -1114,7 +1114,7 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi
1114 * command line, making extra room as needed */ 1114 * command line, making extra room as needed */
1115 --src; 1115 --src;
1116 charptr1 = xmalloc(BUFSIZ); 1116 charptr1 = xmalloc(BUFSIZ);
1117 while ( (size=fullRead(pipefd[0], charptr1, BUFSIZ-1)) >0) { 1117 while ( (size=full_read(pipefd[0], charptr1, BUFSIZ-1)) >0) {
1118 int newSize=src - *commandPtr + size + 1 + strlen(charptr2); 1118 int newSize=src - *commandPtr + size + 1 + strlen(charptr2);
1119 if (newSize > BUFSIZ) { 1119 if (newSize > BUFSIZ) {
1120 *commandPtr=xrealloc(*commandPtr, src - *commandPtr + 1120 *commandPtr=xrealloc(*commandPtr, src - *commandPtr +
@@ -1145,7 +1145,7 @@ static int parseCommand(char **commandPtr, struct job *job, struct jobSet *jobLi
1145 case '\\': 1145 case '\\':
1146 src++; 1146 src++;
1147 if (!*src) { 1147 if (!*src) {
1148 errorMsg("character expected after \\\n"); 1148 error_msg("character expected after \\\n");
1149 freeJob(job); 1149 freeJob(job);
1150 return 1; 1150 return 1;
1151 } 1151 }
@@ -1291,7 +1291,7 @@ static int runCommand(struct job *newJob, struct jobSet *jobList, int inBg, int
1291#endif 1291#endif
1292 1292
1293 execvp(newJob->progs[i].argv[0], newJob->progs[i].argv); 1293 execvp(newJob->progs[i].argv[0], newJob->progs[i].argv);
1294 fatalError("%s: %s\n", newJob->progs[i].argv[0], 1294 error_msg_and_die("%s: %s\n", newJob->progs[i].argv[0],
1295 strerror(errno)); 1295 strerror(errno));
1296 } 1296 }
1297 if (outPipe[1]!=-1) { 1297 if (outPipe[1]!=-1) {
@@ -1495,7 +1495,7 @@ int shell_main(int argc_l, char **argv_l)
1495 case 'c': 1495 case 'c':
1496 input = NULL; 1496 input = NULL;
1497 if (local_pending_command != 0) 1497 if (local_pending_command != 0)
1498 fatalError("multiple -c arguments\n"); 1498 error_msg_and_die("multiple -c arguments\n");
1499 local_pending_command = xstrdup(argv[optind]); 1499 local_pending_command = xstrdup(argv[optind]);
1500 optind++; 1500 optind++;
1501 argv = argv+optind; 1501 argv = argv+optind;