diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-03-29 21:34:14 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-03-31 08:07:47 -0300 |
commit | 0d61b1c470466118c601a107d7a17b9edd107c53 (patch) | |
tree | 297f39c2206f7cb9c87b07821db08e3f8aea1aad /src/os_unix.c | |
parent | 607e1c7ee42cb9bfd66cb84d4fb54060f3b4135b (diff) | |
download | rneovim-0d61b1c470466118c601a107d7a17b9edd107c53.tar.gz rneovim-0d61b1c470466118c601a107d7a17b9edd107c53.tar.bz2 rneovim-0d61b1c470466118c601a107d7a17b9edd107c53.zip |
Refactor SHELL_* defines into enum typedef
The SHELL_* defines are the bitflags that can be passed to `mch_call_shell`.
The enum is defined in 'os/shell.h', where all shell-related functions will
eventually be defined.
Diffstat (limited to 'src/os_unix.c')
-rw-r--r-- | src/os_unix.c | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/src/os_unix.c b/src/os_unix.c index 3efa1a26c2..0a6a8a2794 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -1681,7 +1681,7 @@ waitstatus *status; return wait_pid; } -int mch_call_shell(char_u *cmd, int options, char_u *extra_shell_arg) +int mch_call_shell(char_u *cmd, ShellOpts opts, char_u *extra_shell_arg) { int tmode = cur_tmode; @@ -1708,7 +1708,7 @@ int mch_call_shell(char_u *cmd, int options, char_u *extra_shell_arg) int did_settmode = FALSE; /* settmode(TMODE_RAW) called */ out_flush(); - if (options & SHELL_COOKED) + if (opts & kShellOptCooked) settmode(TMODE_COOK); /* set to normal mode */ argv = shell_build_argv(cmd, extra_shell_arg); @@ -1722,8 +1722,7 @@ int mch_call_shell(char_u *cmd, int options, char_u *extra_shell_arg) * input from the buffer: Try using a pseudo-tty to get the stdin/stdout * of the executed command into the Vim window. Or use a pipe. */ - if ((options & (SHELL_READ|SHELL_WRITE)) - ) { + if (opts & (kShellOptRead|kShellOptWrite)) { { pipe_error = (pipe(fd_toshell) < 0); if (!pipe_error) { /* pipe create OK */ @@ -1744,8 +1743,7 @@ int mch_call_shell(char_u *cmd, int options, char_u *extra_shell_arg) if ((pid = fork()) == -1) { /* maybe we should use vfork() */ MSG_PUTS(_("\nCannot fork\n")); - if ((options & (SHELL_READ|SHELL_WRITE)) - ) { + if (opts & (kShellOptRead | kShellOptWrite)) { { close(fd_toshell[0]); close(fd_toshell[1]); @@ -1756,7 +1754,7 @@ int mch_call_shell(char_u *cmd, int options, char_u *extra_shell_arg) } else if (pid == 0) { /* child */ reset_signals(); /* handle signals normally */ - if (!show_shell_mess || (options & SHELL_EXPAND)) { + if (!show_shell_mess || (opts & kShellOptExpand)) { int fd; /* @@ -1789,8 +1787,7 @@ int mch_call_shell(char_u *cmd, int options, char_u *extra_shell_arg) /* Don't need this now that we've duplicated it */ close(fd); } - } else if ((options & (SHELL_READ|SHELL_WRITE)) - ) { + } else if (opts & (kShellOptRead|kShellOptWrite)) { # ifdef HAVE_SETSID /* Create our own process group, so that the child and all its @@ -1860,8 +1857,7 @@ int mch_call_shell(char_u *cmd, int options, char_u *extra_shell_arg) * This is also used to pipe stdin/stdout to/from the external * command. */ - if ((options & (SHELL_READ|SHELL_WRITE)) - ) { + if (opts & (kShellOptRead|kShellOptWrite)) { # define BUFLEN 100 /* length for buffer, pseudo tty limit is 128 */ char_u buffer[BUFLEN + 1]; int buffer_off = 0; /* valid bytes in buffer[] */ @@ -1907,7 +1903,7 @@ int mch_call_shell(char_u *cmd, int options, char_u *extra_shell_arg) old_State = State; State = EXTERNCMD; /* don't redraw at window resize */ - if ((options & SHELL_WRITE) && toshell_fd >= 0) { + if ((opts & kShellOptWrite) && toshell_fd >= 0) { /* Fork a process that will write the lines to the * external program. */ if ((wpid = fork()) == -1) { @@ -1963,7 +1959,7 @@ int mch_call_shell(char_u *cmd, int options, char_u *extra_shell_arg) } } - if (options & SHELL_READ) + if (opts & kShellOptRead) ga_init2(&ga, 1, BUFLEN); noread_cnt = 0; @@ -1986,10 +1982,10 @@ int mch_call_shell(char_u *cmd, int options, char_u *extra_shell_arg) * typeahead. */ len = 0; - if (!(options & SHELL_EXPAND) - && ((options & - (SHELL_READ|SHELL_WRITE|SHELL_COOKED)) - != (SHELL_READ|SHELL_WRITE|SHELL_COOKED) + if (!(opts & kShellOptExpand) + && ((opts & + (kShellOptRead|kShellOptWrite|kShellOptCooked)) + != (kShellOptRead|kShellOptWrite|kShellOptCooked) ) && wait_pid == 0 && (ta_len > 0 || noread_cnt > 4)) { @@ -2081,7 +2077,7 @@ int mch_call_shell(char_u *cmd, int options, char_u *extra_shell_arg) * When writing buffer lines, drop the typed * characters (only check for CTRL-C). */ - if (options & SHELL_WRITE) + if (opts & kShellOptWrite) ta_len = 0; else if (toshell_fd >= 0) { len = write(toshell_fd, (char *)ta_buf, (size_t)1); @@ -2124,7 +2120,7 @@ int mch_call_shell(char_u *cmd, int options, char_u *extra_shell_arg) goto finished; noread_cnt = 0; - if (options & SHELL_READ) { + if (opts & kShellOptRead) { /* Do NUL -> NL translation, append NL separated * lines to the current buffer. */ for (i = 0; i < len; ++i) { @@ -2227,7 +2223,7 @@ int mch_call_shell(char_u *cmd, int options, char_u *extra_shell_arg) } finished: p_more = p_more_save; - if (options & SHELL_READ) { + if (opts & kShellOptRead) { if (ga.ga_len > 0) { append_ga_line(&ga); /* remember that the NL was missing */ @@ -2283,7 +2279,7 @@ finished: MSG_PUTS(_("\nCannot execute shell ")); msg_outtrans(p_sh); msg_putchar('\n'); - } else if (!(options & SHELL_SILENT)) { + } else if (!(opts & kShellOptSilent)) { MSG_PUTS(_("\nshell returned ")); msg_outnum((long)retval); msg_putchar('\n'); @@ -2663,7 +2659,11 @@ int flags; /* EW_* flags */ /* * execute the shell command */ - i = call_shell(command, SHELL_EXPAND | SHELL_SILENT, extra_shell_arg); + i = call_shell( + command, + kShellOptExpand | kShellOptSilent, + extra_shell_arg + ); /* When running in the background, give it some time to create the temp * file, but don't wait for it to finish. */ |