| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/bash/src/print_cmd.c |
| Source code | Switch to Preprocessed file |
| Line | Source | Count | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | /* print_command -- A way to make readable commands from a command tree. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3 | /* Copyright (C) 1989-2017 Free Software Foundation, Inc. | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5 | This file is part of GNU Bash, the Bourne Again SHell. | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 6 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 7 | Bash is free software: you can redistribute it and/or modify | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 8 | it under the terms of the GNU General Public License as published by | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 9 | the Free Software Foundation, either version 3 of the License, or | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 10 | (at your option) any later version. | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 11 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 12 | Bash is distributed in the hope that it will be useful, | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 15 | GNU General Public License for more details. | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 16 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 17 | You should have received a copy of the GNU General Public License | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 18 | along with Bash. If not, see <http://www.gnu.org/licenses/>. | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 19 | */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 20 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 21 | #include "config.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 22 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 23 | #include <stdio.h> | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25 | #if defined (HAVE_UNISTD_H) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 26 | # ifdef _MINIX | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 27 | # include <sys/types.h> | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 28 | # endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 29 | # include <unistd.h> | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 30 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 31 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 32 | #if defined (PREFER_STDARG) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 33 | # include <stdarg.h> | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 34 | #else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 35 | # include <varargs.h> | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 36 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 37 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 38 | #include "bashansi.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 39 | #include "bashintl.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 40 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 41 | #include "shell.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 42 | #include "flags.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 43 | #include <y.tab.h> /* use <...> so we pick it up from the build directory */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 44 | #include "input.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 45 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 46 | #include "shmbutil.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 47 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 48 | #include "builtins/common.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 49 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 50 | #if !HAVE_DECL_PRINTF | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 51 | extern int printf __P((const char *, ...)); /* Yuck. Double yuck. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 52 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 53 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 54 | static int indentation; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 55 | static int indentation_amount = 4; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 56 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 57 | #if defined (PREFER_STDARG) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 58 | typedef void PFUNC __P((const char *, ...)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 59 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 60 | static void cprintf __P((const char *, ...)) __attribute__((__format__ (printf, 1, 2))); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 61 | static void xprintf __P((const char *, ...)) __attribute__((__format__ (printf, 1, 2))); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 62 | #else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 63 | #define PFUNC VFunction | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 64 | static void cprintf (); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 65 | static void xprintf (); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 66 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 67 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 68 | static void reset_locals __P((void)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 69 | static void newline __P((char *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 70 | static void indent __P((int)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 71 | static void semicolon __P((void)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 72 | static void the_printed_command_resize __P((int)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 73 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 74 | static void make_command_string_internal __P((COMMAND *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 75 | static void _print_word_list __P((WORD_LIST *, char *, PFUNC *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 76 | static void command_print_word_list __P((WORD_LIST *, char *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 77 | static void print_case_clauses __P((PATTERN_LIST *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 78 | static void print_redirection_list __P((REDIRECT *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 79 | static void print_redirection __P((REDIRECT *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 80 | static void print_heredoc_header __P((REDIRECT *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 81 | static void print_heredoc_body __P((REDIRECT *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 82 | static void print_heredocs __P((REDIRECT *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 83 | static void print_heredoc_bodies __P((REDIRECT *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 84 | static void print_deferred_heredocs __P((const char *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 85 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 86 | static void print_for_command __P((FOR_COM *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 87 | #if defined (ARITH_FOR_COMMAND) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 88 | static void print_arith_for_command __P((ARITH_FOR_COM *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 89 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 90 | #if defined (SELECT_COMMAND) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 91 | static void print_select_command __P((SELECT_COM *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 92 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 93 | static void print_group_command __P((GROUP_COM *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 94 | static void print_case_command __P((CASE_COM *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 95 | static void print_while_command __P((WHILE_COM *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 96 | static void print_until_command __P((WHILE_COM *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 97 | static void print_until_or_while __P((WHILE_COM *, char *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 98 | static void print_if_command __P((IF_COM *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 99 | #if defined (COND_COMMAND) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 100 | static void print_cond_node __P((COND_COM *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 101 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 102 | static void print_function_def __P((FUNCTION_DEF *)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 103 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 104 | #define PRINTED_COMMAND_INITIAL_SIZE 64 | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 105 | #define PRINTED_COMMAND_GROW_SIZE 128 | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 106 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 107 | char *the_printed_command = (char *)NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 108 | int the_printed_command_size = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 109 | int command_string_index = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 110 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 111 | int xtrace_fd = -1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 112 | FILE *xtrace_fp = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 113 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 114 | #define CHECK_XTRACE_FP xtrace_fp = (xtrace_fp ? xtrace_fp : stderr) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 115 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 116 | /* shell expansion characters: used in print_redirection_list */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 117 | #define EXPCHAR(c) ((c) == '{' || (c) == '~' || (c) == '$' || (c) == '`') | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 118 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 119 | #define PRINT_DEFERRED_HEREDOCS(x) \ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 120 | do { \ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 121 | if (deferred_heredocs) \ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 122 | print_deferred_heredocs (x); \ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 123 | } while (0) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 124 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 125 | /* Non-zero means the stuff being printed is inside of a function def. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 126 | static int inside_function_def; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 127 | static int skip_this_indent; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 128 | static int was_heredoc; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 129 | static int printing_connection; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 130 | static REDIRECT *deferred_heredocs; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 131 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 132 | /* The depth of the group commands that we are currently printing. This | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 133 | includes the group command that is a function body. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 134 | static int group_command_nesting; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 135 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 136 | /* A buffer to indicate the indirection level (PS4) when set -x is enabled. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 137 | static char *indirection_string = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 138 | static int indirection_stringsiz = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 139 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 140 | /* Print COMMAND (a command tree) on standard output. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 141 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 142 | print_command (command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 143 | COMMAND *command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 144 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 145 | command_string_index = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 146 | printf ("%s", make_command_string (command)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 147 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 148 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 149 | /* Make a string which is the printed representation of the command | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 150 | tree in COMMAND. We return this string. However, the string is | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 151 | not consed, so you have to do that yourself if you want it to | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 152 | remain around. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 153 | char * | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 154 | make_command_string (command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 155 | COMMAND *command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 156 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 157 | command_string_index = was_heredoc = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 158 | deferred_heredocs = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 159 | make_command_string_internal (command); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 160 | return (the_printed_command); executed 5886 times by 1 test: return (the_printed_command);Executed by:
| 5886 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 161 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 162 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 163 | /* The internal function. This is the real workhorse. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 164 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 165 | make_command_string_internal (command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 166 | COMMAND *command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 167 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 168 | char s[3]; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 169 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 170 | if (command == 0)
| 6-30519 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 171 | cprintf (""); executed 6 times by 1 test: cprintf ("");Executed by:
| 6 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 172 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 173 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 174 | if (skip_this_indent)
| 10959-19560 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 175 | skip_this_indent--; executed 19560 times by 1 test: skip_this_indent--;Executed by:
| 19560 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 176 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 177 | indent (indentation); executed 10959 times by 1 test: indent (indentation);Executed by:
| 10959 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 178 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 179 | if (command->flags & CMD_TIME_PIPELINE)
| 6-30513 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 180 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 181 | cprintf ("time "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 182 | if (command->flags & CMD_TIME_POSIX)
| 1-5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 183 | cprintf ("-p "); executed 5 times by 1 test: cprintf ("-p ");Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 184 | } executed 6 times by 1 test: end of blockExecuted by:
| 6 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 185 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 186 | if (command->flags & CMD_INVERT_RETURN)
| 149-30370 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 187 | cprintf ("! "); executed 149 times by 1 test: cprintf ("! ");Executed by:
| 149 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 188 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 189 | switch (command->type) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 190 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 191 | case cm_for: executed 19 times by 1 test: case cm_for:Executed by:
| 19 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 192 | print_for_command (command->value.For); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 193 | break; executed 19 times by 1 test: break;Executed by:
| 19 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 194 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 195 | #if defined (ARITH_FOR_COMMAND) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 196 | case cm_arith_for: executed 1119 times by 1 test: case cm_arith_for:Executed by:
| 1119 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 197 | print_arith_for_command (command->value.ArithFor); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 198 | break; executed 1119 times by 1 test: break;Executed by:
| 1119 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 199 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 200 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 201 | #if defined (SELECT_COMMAND) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 202 | case cm_select: never executed: case cm_select: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 203 | print_select_command (command->value.Select); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 204 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 205 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 206 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 207 | case cm_case: executed 7 times by 1 test: case cm_case:Executed by:
| 7 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 208 | print_case_command (command->value.Case); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 209 | break; executed 7 times by 1 test: break;Executed by:
| 7 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 210 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 211 | case cm_while: executed 23 times by 1 test: case cm_while:Executed by:
| 23 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 212 | print_while_command (command->value.While); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 213 | break; executed 23 times by 1 test: break;Executed by:
| 23 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 214 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 215 | case cm_until: executed 5 times by 1 test: case cm_until:Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 216 | print_until_command (command->value.While); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 217 | break; executed 5 times by 1 test: break;Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 218 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 219 | case cm_if: executed 626 times by 1 test: case cm_if:Executed by:
| 626 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 220 | print_if_command (command->value.If); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 221 | break; executed 626 times by 1 test: break;Executed by:
| 626 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 222 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 223 | #if defined (DPAREN_ARITHMETIC) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 224 | case cm_arith: executed 1222 times by 1 test: case cm_arith:Executed by:
| 1222 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 225 | print_arith_command (command->value.Arith->exp); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 226 | break; executed 1222 times by 1 test: break;Executed by:
| 1222 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 227 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 228 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 229 | #if defined (COND_COMMAND) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 230 | case cm_cond: executed 10 times by 1 test: case cm_cond:Executed by:
| 10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 231 | print_cond_command (command->value.Cond); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 232 | break; executed 10 times by 1 test: break;Executed by:
| 10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 233 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 234 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 235 | case cm_simple: executed 13606 times by 1 test: case cm_simple:Executed by:
| 13606 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 236 | print_simple_command (command->value.Simple); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 237 | break; executed 13606 times by 1 test: break;Executed by:
| 13606 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 238 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 239 | case cm_connection: executed 7914 times by 1 test: case cm_connection:Executed by:
| 7914 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 240 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 241 | skip_this_indent++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 242 | printing_connection++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 243 | make_command_string_internal (command->value.Connection->first); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 244 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 245 | switch (command->value.Connection->connector) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 246 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 247 | case '&': executed 100 times by 1 test: case '&':Executed by:
| 100 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 248 | case '|': executed 39 times by 1 test: case '|':Executed by:
| 39 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 249 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 250 | char c = command->value.Connection->connector; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 251 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 252 | s[0] = ' '; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 253 | s[1] = c; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 254 | s[2] = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 255 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 256 | print_deferred_heredocs (s); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 257 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 258 | if (c != '&' || command->value.Connection->second)
| 6-100 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 259 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 260 | cprintf (" "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 261 | skip_this_indent++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 262 | } executed 133 times by 1 test: end of blockExecuted by:
| 133 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 263 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 264 | break; executed 139 times by 1 test: break;Executed by:
| 139 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 265 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 266 | case AND_AND: executed 17 times by 1 test: case 288:Executed by:
| 17 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 267 | print_deferred_heredocs (" && "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 268 | if (command->value.Connection->second)
| 0-17 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 269 | skip_this_indent++; executed 17 times by 1 test: skip_this_indent++;Executed by:
| 17 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 270 | break; executed 17 times by 1 test: break;Executed by:
| 17 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 271 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 272 | case OR_OR: executed 10 times by 1 test: case 289:Executed by:
| 10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 273 | print_deferred_heredocs (" || "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 274 | if (command->value.Connection->second)
| 0-10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 275 | skip_this_indent++; executed 10 times by 1 test: skip_this_indent++;Executed by:
| 10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 276 | break; executed 10 times by 1 test: break;Executed by:
| 10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 277 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 278 | case ';': executed 7748 times by 1 test: case ';':Executed by:
| 7748 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 279 | if (deferred_heredocs == 0)
| 13-7735 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 280 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 281 | if (was_heredoc == 0)
| 13-7722 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 282 | cprintf (";"); executed 7722 times by 1 test: cprintf (";");Executed by:
| 7722 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 283 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 284 | was_heredoc = 0; executed 13 times by 1 test: was_heredoc = 0;Executed by:
| 13 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 285 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 286 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 287 | print_deferred_heredocs (inside_function_def ? "" : ";"); executed 13 times by 1 test: print_deferred_heredocs (inside_function_def ? "" : ";");Executed by:
| 13 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 288 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 289 | if (inside_function_def)
| 2857-4891 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 290 | cprintf ("\n"); executed 2857 times by 1 test: cprintf ("\n");Executed by:
| 2857 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 291 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 292 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 293 | cprintf (" "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 294 | if (command->value.Connection->second)
| 0-4891 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 295 | skip_this_indent++; executed 4891 times by 1 test: skip_this_indent++;Executed by:
| 4891 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 296 | } executed 4891 times by 1 test: end of blockExecuted by:
| 4891 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 297 | break; executed 7748 times by 1 test: break;Executed by:
| 7748 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 298 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 299 | default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 300 | cprintf (_("print_command: bad connector `%d'"), | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 301 | command->value.Connection->connector); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 302 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 303 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 304 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 305 | make_command_string_internal (command->value.Connection->second); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 306 | PRINT_DEFERRED_HEREDOCS (""); executed 16 times by 1 test: print_deferred_heredocs ("");Executed by:
| 16-7898 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 307 | printing_connection--; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 308 | break; executed 7914 times by 1 test: break;Executed by:
| 7914 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 309 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 310 | case cm_function_def: executed 11 times by 1 test: case cm_function_def:Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 311 | print_function_def (command->value.Function_def); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 312 | break; executed 11 times by 1 test: break;Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 313 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 314 | case cm_group: executed 734 times by 1 test: case cm_group:Executed by:
| 734 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 315 | print_group_command (command->value.Group); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 316 | break; executed 734 times by 1 test: break;Executed by:
| 734 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 317 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 318 | case cm_subshell: executed 5190 times by 1 test: case cm_subshell:Executed by:
| 5190 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 319 | cprintf ("( "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 320 | skip_this_indent++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 321 | make_command_string_internal (command->value.Subshell->command); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 322 | PRINT_DEFERRED_HEREDOCS (""); executed 2 times by 1 test: print_deferred_heredocs ("");Executed by:
| 2-5188 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 323 | cprintf (" )"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 324 | break; executed 5190 times by 1 test: break;Executed by:
| 5190 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 325 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 326 | case cm_coproc: executed 33 times by 1 test: case cm_coproc:Executed by:
| 33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 327 | cprintf ("coproc %s ", command->value.Coproc->name); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 328 | skip_this_indent++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 329 | make_command_string_internal (command->value.Coproc->command); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 330 | break; executed 33 times by 1 test: break;Executed by:
| 33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 331 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 332 | default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 333 | command_error ("print_command", CMDERR_BADTYPE, command->type, 0); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 334 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 335 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 336 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 337 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 338 | if (command->redirects)
| 1672-28847 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 339 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 340 | cprintf (" "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 341 | print_redirection_list (command->redirects); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 342 | } executed 1672 times by 1 test: end of blockExecuted by:
| 1672 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 343 | } executed 30519 times by 1 test: end of blockExecuted by:
| 30519 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 344 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 345 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 346 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 347 | _print_word_list (list, separator, pfunc) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 348 | WORD_LIST *list; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 349 | char *separator; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 350 | PFUNC *pfunc; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 351 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 352 | WORD_LIST *w; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 353 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 354 | for (w = list; w; w = w->next)
| 76740485-113345661 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 355 | (*pfunc) ("%s%s", w->word->word, w->next ? separator : ""); executed 113345661 times by 1 test: (*pfunc) ("%s%s", w->word->word, w->next ? separator : "");Executed by:
| 113345661 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 356 | } executed 76740485 times by 1 test: end of blockExecuted by:
| 76740485 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 357 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 358 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 359 | print_word_list (list, separator) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 360 | WORD_LIST *list; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 361 | char *separator; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 362 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 363 | _print_word_list (list, separator, xprintf); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 364 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 365 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 366 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 367 | xtrace_set (fd, fp) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 368 | int fd; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 369 | FILE *fp; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 370 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 371 | if (fd >= 0 && sh_validfd (fd) == 0)
| 0-5432 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 372 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 373 | internal_error (_("xtrace_set: %d: invalid file descriptor"), fd); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 374 | return; never executed: return; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 375 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 376 | if (fp == 0)
| 0-5433 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 377 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 378 | internal_error (_("xtrace_set: NULL file pointer")); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 379 | return; never executed: return; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 380 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 381 | if (fd >= 0 && fileno (fp) != fd)
| 0-5432 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 382 | internal_warning (_("xtrace fd (%d) != fileno xtrace fp (%d)"), fd, fileno (fp)); never executed: internal_warning ( dcgettext (((void *)0), "xtrace fd (%d) != fileno xtrace fp (%d)" , 5) , fd, fileno (fp)); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 383 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 384 | xtrace_fd = fd; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 385 | xtrace_fp = fp; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 386 | } executed 5433 times by 1 test: end of blockExecuted by:
| 5433 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 387 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 388 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 389 | xtrace_init () | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 390 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 391 | xtrace_set (-1, stderr); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 392 | } executed 5432 times by 1 test: end of blockExecuted by:
| 5432 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 393 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 394 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 395 | xtrace_reset () | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 396 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 397 | if (xtrace_fd >= 0 && xtrace_fp)
| 0-1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 398 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 399 | fflush (xtrace_fp); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 400 | fclose (xtrace_fp); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 401 | } executed 1 time by 1 test: end of blockExecuted by:
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 402 | else if (xtrace_fd >= 0)
| 0-1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 403 | close (xtrace_fd); never executed: close (xtrace_fd); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 404 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 405 | xtrace_fd = -1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 406 | xtrace_fp = stderr; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 407 | } executed 2 times by 1 test: end of blockExecuted by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 408 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 409 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 410 | xtrace_fdchk (fd) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 411 | int fd; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 412 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 413 | if (fd == xtrace_fd)
| 0-666440 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 414 | xtrace_reset (); never executed: xtrace_reset (); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 415 | } executed 666440 times by 1 test: end of blockExecuted by:
| 666440 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 416 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 417 | /* Return a string denoting what our indirection level is. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 418 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 419 | char * | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 420 | indirection_level_string () | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 421 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 422 | register int i, j; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 423 | char *ps4; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 424 | char ps4_firstc[MB_LEN_MAX+1]; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 425 | int ps4_firstc_len, ps4_len, ineed, old; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 426 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 427 | ps4 = get_string_value ("PS4"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 428 | if (indirection_string == 0)
| 6-53 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 429 | indirection_string = xmalloc (indirection_stringsiz = 100); executed 6 times by 1 test: indirection_string = sh_xmalloc((indirection_stringsiz = 100), "print_cmd.c", 429);Executed by:
| 6 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 430 | indirection_string[0] = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 431 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 432 | if (ps4 == 0 || *ps4 == '\0')
| 0-59 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 433 | return (indirection_string); never executed: return (indirection_string); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 434 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 435 | old = change_flag ('x', FLAG_OFF); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 436 | ps4 = decode_prompt_string (ps4); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 437 | if (old)
| 0-59 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 438 | change_flag ('x', FLAG_ON); executed 59 times by 1 test: change_flag ('x', '-');Executed by:
| 59 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 439 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 440 | if (ps4 == 0 || *ps4 == '\0')
| 0-59 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 441 | return (indirection_string); never executed: return (indirection_string); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 442 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 443 | #if defined (HANDLE_MULTIBYTE) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 444 | ps4_len = strnlen (ps4, MB_CUR_MAX); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 445 | ps4_firstc_len = MBLEN (ps4, ps4_len);
| 0-59 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 446 | if (ps4_firstc_len == 1 || ps4_firstc_len == 0 || ps4_firstc_len < 0)
| 0-59 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 447 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 448 | ps4_firstc[0] = ps4[0]; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 449 | ps4_firstc[ps4_firstc_len = 1] = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 450 | } executed 59 times by 1 test: end of blockExecuted by:
| 59 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 451 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 452 | memcpy (ps4_firstc, ps4, ps4_firstc_len); never executed: memcpy (ps4_firstc, ps4, ps4_firstc_len); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 453 | #else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 454 | ps4_firstc[0] = ps4[0]; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 455 | ps4_firstc[ps4_firstc_len = 1] = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 456 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 457 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 458 | /* Dynamically resize indirection_string so we have room for everything | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 459 | and we don't have to truncate ps4 */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 460 | ineed = (ps4_firstc_len * indirection_level) + strlen (ps4); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 461 | if (ineed > indirection_stringsiz - 1)
| 0-59 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 462 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 463 | indirection_stringsiz = ineed + 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 464 | indirection_string = xrealloc (indirection_string, indirection_stringsiz); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 465 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 466 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 467 | for (i = j = 0; ps4_firstc[0] && j < indirection_level && i < indirection_stringsiz - 1; i += ps4_firstc_len, j++)
| 0-119 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 468 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 469 | if (ps4_firstc_len == 1)
| 0-60 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 470 | indirection_string[i] = ps4_firstc[0]; executed 60 times by 1 test: indirection_string[i] = ps4_firstc[0];Executed by:
| 60 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 471 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 472 | memcpy (indirection_string+i, ps4_firstc, ps4_firstc_len); never executed: memcpy (indirection_string+i, ps4_firstc, ps4_firstc_len); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 473 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 474 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 475 | for (j = ps4_firstc_len; *ps4 && ps4[j] && i < indirection_stringsiz - 1; i++, j++)
| 0-148 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 476 | indirection_string[i] = ps4[j]; executed 89 times by 1 test: indirection_string[i] = ps4[j];Executed by:
| 89 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 477 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 478 | indirection_string[i] = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 479 | free (ps4); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 480 | return (indirection_string); executed 59 times by 1 test: return (indirection_string);Executed by:
| 59 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 481 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 482 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 483 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 484 | xtrace_print_assignment (name, value, assign_list, xflags) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 485 | char *name, *value; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 486 | int assign_list, xflags; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 487 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 488 | char *nval; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 489 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 490 | CHECK_XTRACE_FP;
| 0-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 491 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 492 | if (xflags)
| 0-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 493 | fprintf (xtrace_fp, "%s", indirection_level_string ()); executed 12 times by 1 test: fprintf (xtrace_fp, "%s", indirection_level_string ());Executed by:
| 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 494 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 495 | /* VALUE should not be NULL when this is called. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 496 | if (*value == '\0' || assign_list)
| 0-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 497 | nval = value; never executed: nval = value; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 498 | else if (sh_contains_shell_metas (value))
| 0-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 499 | nval = sh_single_quote (value); never executed: nval = sh_single_quote (value); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 500 | else if (ansic_shouldquote (value))
| 0-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 501 | nval = ansic_quote (value, 0, (int *)0); never executed: nval = ansic_quote (value, 0, (int *)0); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 502 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 503 | nval = value; executed 12 times by 1 test: nval = value;Executed by:
| 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 504 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 505 | if (assign_list)
| 0-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 506 | fprintf (xtrace_fp, "%s=(%s)\n", name, nval); never executed: fprintf (xtrace_fp, "%s=(%s)\n", name, nval); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 507 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 508 | fprintf (xtrace_fp, "%s=%s\n", name, nval); executed 12 times by 1 test: fprintf (xtrace_fp, "%s=%s\n", name, nval);Executed by:
| 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 509 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 510 | if (nval != value)
| 0-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 511 | FREE (nval); never executed: sh_xfree((nval), "print_cmd.c", 511);never executed: end of block
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 512 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 513 | fflush (xtrace_fp); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 514 | } executed 12 times by 1 test: end of blockExecuted by:
| 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 515 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 516 | /* A function to print the words of a simple command when set -x is on. Also used to | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 517 | print the word list in a for or select command header; in that case, we suppress | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 518 | quoting the words because they haven't been expanded yet. XTFLAGS&1 means to | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 519 | print $PS4; XTFLAGS&2 means to suppress quoting the words in LIST. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 520 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 521 | xtrace_print_word_list (list, xtflags) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 522 | WORD_LIST *list; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 523 | int xtflags; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 524 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 525 | WORD_LIST *w; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 526 | char *t, *x; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 527 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 528 | CHECK_XTRACE_FP;
| 0-32 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 529 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 530 | if (xtflags&1)
| 8-24 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 531 | fprintf (xtrace_fp, "%s", indirection_level_string ()); executed 24 times by 1 test: fprintf (xtrace_fp, "%s", indirection_level_string ());Executed by:
| 24 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 532 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 533 | for (w = list; w; w = w->next)
| 32-82 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 534 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 535 | t = w->word->word; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 536 | if (t == 0 || *t == '\0')
| 0-82 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 537 | fprintf (xtrace_fp, "''%s", w->next ? " " : ""); never executed: fprintf (xtrace_fp, "''%s", w->next ? " " : ""); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 538 | else if (xtflags & 2)
| 34-48 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 539 | fprintf (xtrace_fp, "%s%s", t, w->next ? " " : ""); executed 34 times by 1 test: fprintf (xtrace_fp, "%s%s", t, w->next ? " " : "");Executed by:
| 34 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 540 | else if (sh_contains_shell_metas (t))
| 0-48 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 541 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 542 | x = sh_single_quote (t); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 543 | fprintf (xtrace_fp, "%s%s", x, w->next ? " " : ""); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 544 | free (x); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 545 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 546 | else if (ansic_shouldquote (t))
| 1-47 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 547 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 548 | x = ansic_quote (t, 0, (int *)0); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 549 | fprintf (xtrace_fp, "%s%s", x, w->next ? " " : ""); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 550 | free (x); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 551 | } executed 1 time by 1 test: end of blockExecuted by:
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 552 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 553 | fprintf (xtrace_fp, "%s%s", t, w->next ? " " : ""); executed 47 times by 1 test: fprintf (xtrace_fp, "%s%s", t, w->next ? " " : "");Executed by:
| 47 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 554 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 555 | fprintf (xtrace_fp, "\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 556 | fflush (xtrace_fp); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 557 | } executed 32 times by 1 test: end of blockExecuted by:
| 32 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 558 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 559 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 560 | command_print_word_list (list, separator) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 561 | WORD_LIST *list; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 562 | char *separator; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 563 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 564 | _print_word_list (list, separator, cprintf); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 565 | } executed 76740485 times by 1 test: end of blockExecuted by:
| 76740485 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 566 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 567 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 568 | print_for_command_head (for_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 569 | FOR_COM *for_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 570 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 571 | cprintf ("for %s in ", for_command->name->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 572 | command_print_word_list (for_command->map_list, " "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 573 | } executed 5456701 times by 1 test: end of blockExecuted by:
| 5456701 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 574 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 575 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 576 | xtrace_print_for_command_head (for_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 577 | FOR_COM *for_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 578 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 579 | CHECK_XTRACE_FP;
| 0-8 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 580 | fprintf (xtrace_fp, "%s", indirection_level_string ()); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 581 | fprintf (xtrace_fp, "for %s in ", for_command->name->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 582 | xtrace_print_word_list (for_command->map_list, 2); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 583 | } executed 8 times by 1 test: end of blockExecuted by:
| 8 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 584 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 585 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 586 | print_for_command (for_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 587 | FOR_COM *for_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 588 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 589 | print_for_command_head (for_command); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 590 | cprintf (";"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 591 | newline ("do\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 592 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 593 | indentation += indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 594 | make_command_string_internal (for_command->action); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 595 | PRINT_DEFERRED_HEREDOCS (""); executed 1 time by 1 test: print_deferred_heredocs ("");Executed by:
| 1-18 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 596 | semicolon (); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 597 | indentation -= indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 598 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 599 | newline ("done"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 600 | } executed 19 times by 1 test: end of blockExecuted by:
| 19 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 601 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 602 | #if defined (ARITH_FOR_COMMAND) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 603 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 604 | print_arith_for_command (arith_for_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 605 | ARITH_FOR_COM *arith_for_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 606 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 607 | cprintf ("for (("); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 608 | command_print_word_list (arith_for_command->init, " "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 609 | cprintf ("; "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 610 | command_print_word_list (arith_for_command->test, " "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 611 | cprintf ("; "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 612 | command_print_word_list (arith_for_command->step, " "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 613 | cprintf ("))"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 614 | newline ("do\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 615 | indentation += indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 616 | make_command_string_internal (arith_for_command->action); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 617 | PRINT_DEFERRED_HEREDOCS (""); never executed: print_deferred_heredocs ("");
| 0-1119 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 618 | semicolon (); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 619 | indentation -= indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 620 | newline ("done"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 621 | } executed 1119 times by 1 test: end of blockExecuted by:
| 1119 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 622 | #endif /* ARITH_FOR_COMMAND */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 623 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 624 | #if defined (SELECT_COMMAND) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 625 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 626 | print_select_command_head (select_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 627 | SELECT_COM *select_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 628 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 629 | cprintf ("select %s in ", select_command->name->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 630 | command_print_word_list (select_command->map_list, " "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 631 | } executed 9 times by 1 test: end of blockExecuted by:
| 9 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 632 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 633 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 634 | xtrace_print_select_command_head (select_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 635 | SELECT_COM *select_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 636 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 637 | CHECK_XTRACE_FP;
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 638 | fprintf (xtrace_fp, "%s", indirection_level_string ()); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 639 | fprintf (xtrace_fp, "select %s in ", select_command->name->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 640 | xtrace_print_word_list (select_command->map_list, 2); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 641 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 642 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 643 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 644 | print_select_command (select_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 645 | SELECT_COM *select_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 646 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 647 | print_select_command_head (select_command); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 648 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 649 | cprintf (";"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 650 | newline ("do\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 651 | indentation += indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 652 | make_command_string_internal (select_command->action); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 653 | PRINT_DEFERRED_HEREDOCS (""); never executed: print_deferred_heredocs ("");
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 654 | semicolon (); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 655 | indentation -= indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 656 | newline ("done"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 657 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 658 | #endif /* SELECT_COMMAND */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 659 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 660 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 661 | print_group_command (group_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 662 | GROUP_COM *group_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 663 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 664 | group_command_nesting++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 665 | cprintf ("{ "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 666 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 667 | if (inside_function_def == 0)
| 16-718 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 668 | skip_this_indent++; executed 718 times by 1 test: skip_this_indent++;Executed by:
| 718 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 669 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 670 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 671 | /* This is a group command { ... } inside of a function | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 672 | definition, and should be printed as a multiline group | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 673 | command, using the current indentation. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 674 | cprintf ("\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 675 | indentation += indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 676 | } executed 16 times by 1 test: end of blockExecuted by:
| 16 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 677 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 678 | make_command_string_internal (group_command->command); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 679 | PRINT_DEFERRED_HEREDOCS (""); executed 2 times by 1 test: print_deferred_heredocs ("");Executed by:
| 2-732 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 680 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 681 | if (inside_function_def)
| 16-718 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 682 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 683 | cprintf ("\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 684 | indentation -= indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 685 | indent (indentation); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 686 | } executed 16 times by 1 test: end of blockExecuted by:
| 16 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 687 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 688 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 689 | semicolon (); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 690 | cprintf (" "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 691 | } executed 718 times by 1 test: end of blockExecuted by:
| 718 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 692 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 693 | cprintf ("}"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 694 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 695 | group_command_nesting--; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 696 | } executed 734 times by 1 test: end of blockExecuted by:
| 734 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 697 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 698 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 699 | print_case_command_head (case_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 700 | CASE_COM *case_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 701 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 702 | cprintf ("case %s in ", case_command->word->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 703 | } executed 36947178 times by 1 test: end of blockExecuted by:
| 36947178 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 704 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 705 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 706 | xtrace_print_case_command_head (case_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 707 | CASE_COM *case_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 708 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 709 | CHECK_XTRACE_FP;
| 0-1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 710 | fprintf (xtrace_fp, "%s", indirection_level_string ()); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 711 | fprintf (xtrace_fp, "case %s in\n", case_command->word->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 712 | } executed 1 time by 1 test: end of blockExecuted by:
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 713 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 714 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 715 | print_case_command (case_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 716 | CASE_COM *case_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 717 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 718 | print_case_command_head (case_command); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 719 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 720 | if (case_command->clauses)
| 0-7 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 721 | print_case_clauses (case_command->clauses); executed 7 times by 1 test: print_case_clauses (case_command->clauses);Executed by:
| 7 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 722 | newline ("esac"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 723 | } executed 7 times by 1 test: end of blockExecuted by:
| 7 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 724 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 725 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 726 | print_case_clauses (clauses) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 727 | PATTERN_LIST *clauses; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 728 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 729 | indentation += indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 730 | while (clauses)
| 7-14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 731 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 732 | newline (""); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 733 | command_print_word_list (clauses->patterns, " | "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 734 | cprintf (")\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 735 | indentation += indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 736 | make_command_string_internal (clauses->action); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 737 | indentation -= indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 738 | PRINT_DEFERRED_HEREDOCS (""); never executed: print_deferred_heredocs ("");
| 0-14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 739 | if (clauses->flags & CASEPAT_FALLTHROUGH)
| 0-14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 740 | newline (";&"); never executed: newline (";&"); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 741 | else if (clauses->flags & CASEPAT_TESTNEXT)
| 0-14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 742 | newline (";;&"); never executed: newline (";;&"); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 743 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 744 | newline (";;"); executed 14 times by 1 test: newline (";;");Executed by:
| 14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 745 | clauses = clauses->next; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 746 | } executed 14 times by 1 test: end of blockExecuted by:
| 14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 747 | indentation -= indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 748 | } executed 7 times by 1 test: end of blockExecuted by:
| 7 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 749 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 750 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 751 | print_while_command (while_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 752 | WHILE_COM *while_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 753 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 754 | print_until_or_while (while_command, "while"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 755 | } executed 23 times by 1 test: end of blockExecuted by:
| 23 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 756 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 757 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 758 | print_until_command (while_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 759 | WHILE_COM *while_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 760 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 761 | print_until_or_while (while_command, "until"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 762 | } executed 5 times by 1 test: end of blockExecuted by:
| 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 763 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 764 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 765 | print_until_or_while (while_command, which) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 766 | WHILE_COM *while_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 767 | char *which; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 768 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 769 | cprintf ("%s ", which); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 770 | skip_this_indent++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 771 | make_command_string_internal (while_command->test); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 772 | PRINT_DEFERRED_HEREDOCS (""); never executed: print_deferred_heredocs ("");
| 0-28 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 773 | semicolon (); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 774 | cprintf (" do\n"); /* was newline ("do\n"); */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 775 | indentation += indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 776 | make_command_string_internal (while_command->action); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 777 | PRINT_DEFERRED_HEREDOCS (""); never executed: print_deferred_heredocs ("");
| 0-28 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 778 | indentation -= indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 779 | semicolon (); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 780 | newline ("done"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 781 | } executed 28 times by 1 test: end of blockExecuted by:
| 28 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 782 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 783 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 784 | print_if_command (if_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 785 | IF_COM *if_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 786 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 787 | cprintf ("if "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 788 | skip_this_indent++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 789 | make_command_string_internal (if_command->test); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 790 | semicolon (); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 791 | cprintf (" then\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 792 | indentation += indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 793 | make_command_string_internal (if_command->true_case); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 794 | PRINT_DEFERRED_HEREDOCS (""); never executed: print_deferred_heredocs ("");
| 0-626 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 795 | indentation -= indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 796 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 797 | if (if_command->false_case)
| 10-616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 798 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 799 | semicolon (); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 800 | newline ("else\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 801 | indentation += indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 802 | make_command_string_internal (if_command->false_case); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 803 | PRINT_DEFERRED_HEREDOCS (""); never executed: print_deferred_heredocs ("");
| 0-10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 804 | indentation -= indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 805 | } executed 10 times by 1 test: end of blockExecuted by:
| 10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 806 | semicolon (); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 807 | newline ("fi"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 808 | } executed 626 times by 1 test: end of blockExecuted by:
| 626 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 809 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 810 | #if defined (DPAREN_ARITHMETIC) || defined (ARITH_FOR_COMMAND) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 811 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 812 | print_arith_command (arith_cmd_list) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 813 | WORD_LIST *arith_cmd_list; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 814 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 815 | cprintf ("(("); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 816 | command_print_word_list (arith_cmd_list, " "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 817 | cprintf ("))"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 818 | } executed 6556553 times by 1 test: end of blockExecuted by:
| 6556553 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 819 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 820 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 821 | #if defined (COND_COMMAND) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 822 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 823 | print_cond_node (cond) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 824 | COND_COM *cond; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 825 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 826 | if (cond->flags & CMD_INVERT_RETURN)
| 2-2900 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 827 | cprintf ("! "); executed 2 times by 1 test: cprintf ("! ");Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 828 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 829 | if (cond->type == COND_EXPR)
| 141-2761 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 830 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 831 | cprintf ("( "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 832 | print_cond_node (cond->left); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 833 | cprintf (" )"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 834 | } executed 141 times by 1 test: end of blockExecuted by:
| 141 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 835 | else if (cond->type == COND_AND)
| 169-2592 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 836 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 837 | print_cond_node (cond->left); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 838 | cprintf (" && "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 839 | print_cond_node (cond->right); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 840 | } executed 169 times by 1 test: end of blockExecuted by:
| 169 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 841 | else if (cond->type == COND_OR)
| 77-2515 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 842 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 843 | print_cond_node (cond->left); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 844 | cprintf (" || "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 845 | print_cond_node (cond->right); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 846 | } executed 77 times by 1 test: end of blockExecuted by:
| 77 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 847 | else if (cond->type == COND_UNARY)
| 143-2372 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 848 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 849 | cprintf ("%s", cond->op->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 850 | cprintf (" "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 851 | print_cond_node (cond->left); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 852 | } executed 143 times by 1 test: end of blockExecuted by:
| 143 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 853 | else if (cond->type == COND_BINARY)
| 743-1629 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 854 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 855 | print_cond_node (cond->left); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 856 | cprintf (" "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 857 | cprintf ("%s", cond->op->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 858 | cprintf (" "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 859 | print_cond_node (cond->right); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 860 | } executed 743 times by 1 test: end of blockExecuted by:
| 743 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 861 | else if (cond->type == COND_TERM)
| 0-1629 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 862 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 863 | cprintf ("%s", cond->op->word); /* need to add quoting here */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 864 | } executed 1629 times by 1 test: end of blockExecuted by:
| 1629 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 865 | } executed 2902 times by 1 test: end of blockExecuted by:
| 2902 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 866 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 867 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 868 | print_cond_command (cond) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 869 | COND_COM *cond; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 870 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 871 | cprintf ("[[ "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 872 | print_cond_node (cond); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 873 | cprintf (" ]]"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 874 | } executed 640 times by 1 test: end of blockExecuted by:
| 640 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 875 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 876 | #ifdef DEBUG | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 877 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 878 | debug_print_word_list (s, list, sep) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 879 | char *s; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 880 | WORD_LIST *list; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 881 | char *sep; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 882 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 883 | WORD_LIST *w; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 884 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 885 | if (s)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 886 | fprintf (stderr, "%s: ", s); never executed: fprintf ( stderr , "%s: ", s); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 887 | for (w = list; w; w = w->next)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 888 | fprintf (stderr, "%s%s", w->word->word, w->next ? sep : ""); never executed: fprintf ( stderr , "%s%s", w->word->word, w->next ? sep : ""); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 889 | fprintf (stderr, "\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 890 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 891 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 892 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 893 | debug_print_cond_command (cond) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 894 | COND_COM *cond; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 895 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 896 | fprintf (stderr, "DEBUG: "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 897 | command_string_index = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 898 | print_cond_command (cond); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 899 | fprintf (stderr, "%s\n", the_printed_command); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 900 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 901 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 902 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 903 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 904 | xtrace_print_cond_term (type, invert, op, arg1, arg2) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 905 | int type, invert; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 906 | WORD_DESC *op; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 907 | char *arg1, *arg2; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 908 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 909 | CHECK_XTRACE_FP;
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 910 | command_string_index = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 911 | fprintf (xtrace_fp, "%s", indirection_level_string ()); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 912 | fprintf (xtrace_fp, "[[ "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 913 | if (invert)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 914 | fprintf (xtrace_fp, "! "); never executed: fprintf (xtrace_fp, "! "); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 915 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 916 | if (type == COND_UNARY)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 917 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 918 | fprintf (xtrace_fp, "%s ", op->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 919 | fprintf (xtrace_fp, "%s", (arg1 && *arg1) ? arg1 : "''"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 920 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 921 | else if (type == COND_BINARY)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 922 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 923 | fprintf (xtrace_fp, "%s", (arg1 && *arg1) ? arg1 : "''"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 924 | fprintf (xtrace_fp, " %s ", op->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 925 | fprintf (xtrace_fp, "%s", (arg2 && *arg2) ? arg2 : "''"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 926 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 927 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 928 | fprintf (xtrace_fp, " ]]\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 929 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 930 | fflush (xtrace_fp); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 931 | } never executed: end of blocknever executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 932 | #endif /* COND_COMMAND */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 933 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 934 | #if defined (DPAREN_ARITHMETIC) || defined (ARITH_FOR_COMMAND) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 935 | /* A function to print the words of an arithmetic command when set -x is on. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 936 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 937 | xtrace_print_arith_cmd (list) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 938 | WORD_LIST *list; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 939 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 940 | WORD_LIST *w; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 941 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 942 | CHECK_XTRACE_FP;
| 0-14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 943 | fprintf (xtrace_fp, "%s", indirection_level_string ()); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 944 | fprintf (xtrace_fp, "(( "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 945 | for (w = list; w; w = w->next)
| 14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 946 | fprintf (xtrace_fp, "%s%s", w->word->word, w->next ? " " : ""); executed 14 times by 1 test: fprintf (xtrace_fp, "%s%s", w->word->word, w->next ? " " : "");Executed by:
| 14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 947 | fprintf (xtrace_fp, " ))\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 948 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 949 | fflush (xtrace_fp); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 950 | } executed 14 times by 1 test: end of blockExecuted by:
| 14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 951 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 952 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 953 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 954 | print_simple_command (simple_command) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 955 | SIMPLE_COM *simple_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 956 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 957 | command_print_word_list (simple_command->words, " "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 958 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 959 | if (simple_command->redirects)
| 14550-64709301 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 960 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 961 | cprintf (" "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 962 | print_redirection_list (simple_command->redirects); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 963 | } executed 14550 times by 1 test: end of blockExecuted by:
| 14550 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 964 | } executed 64723851 times by 1 test: end of blockExecuted by:
| 64723851 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 965 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 966 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 967 | print_heredocs (heredocs) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 968 | REDIRECT *heredocs; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 969 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 970 | REDIRECT *hdtail; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 971 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 972 | cprintf (" "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 973 | for (hdtail = heredocs; hdtail; hdtail = hdtail->next)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 974 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 975 | print_redirection (hdtail); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 976 | cprintf ("\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 977 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 978 | was_heredoc = 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 979 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 980 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 981 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 982 | print_heredoc_bodies (heredocs) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 983 | REDIRECT *heredocs; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 984 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 985 | REDIRECT *hdtail; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 986 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 987 | cprintf ("\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 988 | for (hdtail = heredocs; hdtail; hdtail = hdtail->next)
| 1340-1342 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 989 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 990 | print_heredoc_body (hdtail); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 991 | cprintf ("\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 992 | } executed 1342 times by 1 test: end of blockExecuted by:
| 1342 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 993 | was_heredoc = 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 994 | } executed 1340 times by 1 test: end of blockExecuted by:
| 1340 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 995 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 996 | /* Print heredocs that are attached to the command before the connector | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 997 | represented by CSTRING. The parsing semantics require us to print the | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 998 | here-doc delimiters, then the connector (CSTRING), then the here-doc | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 999 | bodies. We print the here-doc delimiters in print_redirection_list | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1000 | and print the connector and the bodies here. We don't print the connector | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1001 | if it's a `;', but we use it to note not to print an extra space after the | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1002 | last heredoc body and newline. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1003 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1004 | print_deferred_heredocs (cstring) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1005 | const char *cstring; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1006 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1007 | /* We now print the heredoc headers in print_redirection_list */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1008 | if (cstring && cstring[0] && (cstring[0] != ';' || cstring[1]))
| 0-200 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1009 | cprintf ("%s", cstring); executed 166 times by 1 test: cprintf ("%s", cstring);Executed by:
| 166 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1010 | if (deferred_heredocs)
| 34-166 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1011 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1012 | print_heredoc_bodies (deferred_heredocs); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1013 | if (cstring && cstring[0] && (cstring[0] != ';' || cstring[1]))
| 0-34 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1014 | cprintf (" "); /* make sure there's at least one space */ never executed: cprintf (" "); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1015 | dispose_redirects (deferred_heredocs); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1016 | was_heredoc = 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1017 | } executed 34 times by 1 test: end of blockExecuted by:
| 34 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1018 | deferred_heredocs = (REDIRECT *)NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1019 | } executed 200 times by 1 test: end of blockExecuted by:
| 200 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1020 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1021 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1022 | print_redirection_list (redirects) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1023 | REDIRECT *redirects; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1024 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1025 | REDIRECT *heredocs, *hdtail, *newredir; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1026 | char *rw; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1027 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1028 | heredocs = (REDIRECT *)NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1029 | hdtail = heredocs; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1030 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1031 | was_heredoc = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1032 | while (redirects)
| 16246-17606 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1033 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1034 | /* Defer printing the here document bodiess until we've printed the rest of the | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1035 | redirections, but print the headers in the order they're given. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1036 | if (redirects->instruction == r_reading_until || redirects->instruction == r_deblank_reading_until)
| 8-16272 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1037 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1038 | newredir = copy_redirect (redirects); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1039 | newredir->next = (REDIRECT *)NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1040 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1041 | print_heredoc_header (newredir); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1042 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1043 | if (heredocs)
| 2-1340 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1044 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1045 | hdtail->next = newredir; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1046 | hdtail = newredir; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1047 | } executed 2 times by 1 test: end of blockExecuted by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1048 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1049 | hdtail = heredocs = newredir; executed 1340 times by 1 test: hdtail = heredocs = newredir;Executed by:
| 1340 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1050 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1051 | else if (redirects->instruction == r_duplicating_output_word && (redirects->flags & REDIR_VARASSIGN) == 0 && redirects->redirector.dest == 1)
| 0-16151 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1052 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1053 | /* Temporarily translate it as the execution code does. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1054 | rw = redirects->redirectee.filename->word; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1055 | if (rw && *rw != '-' && DIGIT (*rw) == 0 && EXPCHAR (*rw) == 0)
| 0-108 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1056 | redirects->instruction = r_err_and_out; never executed: redirects->instruction = r_err_and_out; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1057 | print_redirection (redirects); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1058 | redirects->instruction = r_duplicating_output_word; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1059 | } executed 108 times by 1 test: end of blockExecuted by:
| 108 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1060 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1061 | print_redirection (redirects); executed 16156 times by 1 test: print_redirection (redirects);Executed by:
| 16156 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1062 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1063 | redirects = redirects->next; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1064 | if (redirects)
| 1360-16246 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1065 | cprintf (" "); executed 1360 times by 1 test: cprintf (" ");Executed by:
| 1360 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1066 | } executed 17606 times by 1 test: end of blockExecuted by:
| 17606 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1067 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1068 | /* Now that we've printed all the other redirections (on one line), | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1069 | print the here documents. If we're printing a connection, we wait until | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1070 | we print the connector symbol, then we print the here document bodies */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1071 | if (heredocs && printing_connection)
| 34-14906 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1072 | deferred_heredocs = heredocs; executed 34 times by 1 test: deferred_heredocs = heredocs;Executed by:
| 34 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1073 | else if (heredocs)
| 1306-14906 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1074 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1075 | print_heredoc_bodies (heredocs); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1076 | dispose_redirects (heredocs); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1077 | } executed 1306 times by 1 test: end of blockExecuted by:
| 1306 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1078 | } executed 16246 times by 1 test: end of blockExecuted by:
| 16246 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1079 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1080 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1081 | print_heredoc_header (redirect) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1082 | REDIRECT *redirect; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1083 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1084 | int kill_leading; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1085 | char *x; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1086 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1087 | kill_leading = redirect->instruction == r_deblank_reading_until; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1088 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1089 | /* Here doc header */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1090 | if (redirect->rflags & REDIR_VARASSIGN)
| 2-1340 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1091 | cprintf ("{%s}", redirect->redirector.filename->word); executed 2 times by 1 test: cprintf ("{%s}", redirect->redirector.filename->word);Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1092 | else if (redirect->redirector.dest != 0)
| 0-1340 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1093 | cprintf ("%d", redirect->redirector.dest); never executed: cprintf ("%d", redirect->redirector.dest); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1094 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1095 | /* If the here document delimiter is quoted, single-quote it. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1096 | if (redirect->redirectee.filename->flags & W_QUOTED)
| 57-1285 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1097 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1098 | x = sh_single_quote (redirect->here_doc_eof); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1099 | cprintf ("<<%s%s", kill_leading ? "-" : "", x); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1100 | free (x); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1101 | } executed 57 times by 1 test: end of blockExecuted by:
| 57 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1102 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1103 | cprintf ("<<%s%s", kill_leading ? "-" : "", redirect->here_doc_eof); executed 1285 times by 1 test: cprintf ("<<%s%s", kill_leading ? "-" : "", redirect->here_doc_eof);Executed by:
| 1285 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1104 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1105 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1106 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1107 | print_heredoc_body (redirect) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1108 | REDIRECT *redirect; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1109 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1110 | /* Here doc body */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1111 | cprintf ("%s%s", redirect->redirectee.filename->word, redirect->here_doc_eof); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1112 | } executed 1342 times by 1 test: end of blockExecuted by:
| 1342 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1113 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1114 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1115 | print_redirection (redirect) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1116 | REDIRECT *redirect; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1117 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1118 | int redirector, redir_fd; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1119 | WORD_DESC *redirectee, *redir_word; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1120 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1121 | redirectee = redirect->redirectee.filename; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1122 | redir_fd = redirect->redirectee.dest; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1123 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1124 | redir_word = redirect->redirector.filename; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1125 | redirector = redirect->redirector.dest; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1126 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1127 | switch (redirect->instruction) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1128 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1129 | case r_input_direction: executed 1457 times by 1 test: case r_input_direction:Executed by:
| 1457 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1130 | if (redirect->rflags & REDIR_VARASSIGN)
| 5-1452 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1131 | cprintf ("{%s}", redir_word->word); executed 5 times by 1 test: cprintf ("{%s}", redir_word->word);Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1132 | else if (redirector != 0)
| 47-1405 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1133 | cprintf ("%d", redirector); executed 47 times by 1 test: cprintf ("%d", redirector);Executed by:
| 47 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1134 | cprintf ("< %s", redirectee->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1135 | break; executed 1457 times by 1 test: break;Executed by:
| 1457 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1136 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1137 | case r_output_direction: executed 12607 times by 1 test: case r_output_direction:Executed by:
| 12607 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1138 | if (redirect->rflags & REDIR_VARASSIGN)
| 10-12597 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1139 | cprintf ("{%s}", redir_word->word); executed 10 times by 1 test: cprintf ("{%s}", redir_word->word);Executed by:
| 10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1140 | else if (redirector != 1)
| 4036-8561 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1141 | cprintf ("%d", redirector); executed 4036 times by 1 test: cprintf ("%d", redirector);Executed by:
| 4036 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1142 | cprintf ("> %s", redirectee->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1143 | break; executed 12607 times by 1 test: break;Executed by:
| 12607 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1144 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1145 | case r_inputa_direction: /* Redirection created by the shell. */ never executed: case r_inputa_direction: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1146 | cprintf ("&"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1147 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1148 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1149 | case r_output_force: executed 19 times by 1 test: case r_output_force:Executed by:
| 19 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1150 | if (redirect->rflags & REDIR_VARASSIGN)
| 0-19 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1151 | cprintf ("{%s}", redir_word->word); never executed: cprintf ("{%s}", redir_word->word); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1152 | else if (redirector != 1)
| 0-19 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1153 | cprintf ("%d", redirector); never executed: cprintf ("%d", redirector); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1154 | cprintf (">| %s", redirectee->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1155 | break; executed 19 times by 1 test: break;Executed by:
| 19 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1156 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1157 | case r_appending_to: executed 40 times by 1 test: case r_appending_to:Executed by:
| 40 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1158 | if (redirect->rflags & REDIR_VARASSIGN)
| 0-40 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1159 | cprintf ("{%s}", redir_word->word); never executed: cprintf ("{%s}", redir_word->word); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1160 | else if (redirector != 1)
| 0-40 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1161 | cprintf ("%d", redirector); never executed: cprintf ("%d", redirector); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1162 | cprintf (">> %s", redirectee->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1163 | break; executed 40 times by 1 test: break;Executed by:
| 40 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1164 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1165 | case r_input_output: executed 18 times by 1 test: case r_input_output:Executed by:
| 18 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1166 | if (redirect->rflags & REDIR_VARASSIGN)
| 0-18 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1167 | cprintf ("{%s}", redir_word->word); never executed: cprintf ("{%s}", redir_word->word); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1168 | else if (redirector != 1)
| 0-18 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1169 | cprintf ("%d", redirector); executed 18 times by 1 test: cprintf ("%d", redirector);Executed by:
| 18 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1170 | cprintf ("<> %s", redirectee->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1171 | break; executed 18 times by 1 test: break;Executed by:
| 18 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1172 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1173 | case r_deblank_reading_until: never executed: case r_deblank_reading_until: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1174 | case r_reading_until: never executed: case r_reading_until: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1175 | print_heredoc_header (redirect); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1176 | cprintf ("\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1177 | print_heredoc_body (redirect); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1178 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1179 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1180 | case r_reading_string: executed 56 times by 1 test: case r_reading_string:Executed by:
| 56 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1181 | if (redirect->rflags & REDIR_VARASSIGN)
| 0-56 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1182 | cprintf ("{%s}", redir_word->word); never executed: cprintf ("{%s}", redir_word->word); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1183 | else if (redirector != 0)
| 0-56 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1184 | cprintf ("%d", redirector); never executed: cprintf ("%d", redirector); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1185 | #if 0 | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1186 | /* Don't need to check whether or not to requote, since original quotes | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1187 | are still intact. The only thing that has happened is that $'...' | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1188 | has been replaced with 'expanded ...'. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1189 | if (ansic_shouldquote (redirect->redirectee.filename->word)) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1190 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1191 | char *x; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1192 | x = ansic_quote (redirect->redirectee.filename->word, 0, (int *)0); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1193 | cprintf ("<<< %s", x); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1194 | free (x); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1195 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1196 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1197 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1198 | cprintf ("<<< %s", redirect->redirectee.filename->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1199 | break; executed 56 times by 1 test: break;Executed by:
| 56 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1200 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1201 | case r_duplicating_input: executed 35 times by 1 test: case r_duplicating_input:Executed by:
| 35 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1202 | if (redirect->rflags & REDIR_VARASSIGN)
| 4-31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1203 | cprintf ("{%s}<&%d", redir_word->word, redir_fd); executed 4 times by 1 test: cprintf ("{%s}<&%d", redir_word->word, redir_fd);Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1204 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1205 | cprintf ("%d<&%d", redirector, redir_fd); executed 31 times by 1 test: cprintf ("%d<&%d", redirector, redir_fd);Executed by:
| 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1206 | break; executed 35 times by 1 test: break;Executed by:
| 35 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1207 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1208 | case r_duplicating_output: executed 811 times by 1 test: case r_duplicating_output:Executed by:
| 811 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1209 | if (redirect->rflags & REDIR_VARASSIGN)
| 5-806 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1210 | cprintf ("{%s}>&%d", redir_word->word, redir_fd); executed 5 times by 1 test: cprintf ("{%s}>&%d", redir_word->word, redir_fd);Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1211 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1212 | cprintf ("%d>&%d", redirector, redir_fd); executed 806 times by 1 test: cprintf ("%d>&%d", redirector, redir_fd);Executed by:
| 806 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1213 | break; executed 811 times by 1 test: break;Executed by:
| 811 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1214 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1215 | case r_duplicating_input_word: executed 22 times by 1 test: case r_duplicating_input_word:Executed by:
| 22 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1216 | if (redirect->rflags & REDIR_VARASSIGN)
| 2-20 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1217 | cprintf ("{%s}<&%s", redir_word->word, redirectee->word); executed 2 times by 1 test: cprintf ("{%s}<&%s", redir_word->word, redirectee->word);Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1218 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1219 | cprintf ("%d<&%s", redirector, redirectee->word); executed 20 times by 1 test: cprintf ("%d<&%s", redirector, redirectee->word);Executed by:
| 20 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1220 | break; executed 22 times by 1 test: break;Executed by:
| 22 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1221 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1222 | case r_duplicating_output_word: executed 113 times by 1 test: case r_duplicating_output_word:Executed by:
| 113 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1223 | if (redirect->rflags & REDIR_VARASSIGN)
| 2-111 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1224 | cprintf ("{%s}>&%s", redir_word->word, redirectee->word); executed 2 times by 1 test: cprintf ("{%s}>&%s", redir_word->word, redirectee->word);Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1225 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1226 | cprintf ("%d>&%s", redirector, redirectee->word); executed 111 times by 1 test: cprintf ("%d>&%s", redirector, redirectee->word);Executed by:
| 111 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1227 | break; executed 113 times by 1 test: break;Executed by:
| 113 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1228 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1229 | case r_move_input: executed 3 times by 1 test: case r_move_input:Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1230 | if (redirect->rflags & REDIR_VARASSIGN)
| 0-3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1231 | cprintf ("{%s}<&%d-", redir_word->word, redir_fd); never executed: cprintf ("{%s}<&%d-", redir_word->word, redir_fd); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1232 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1233 | cprintf ("%d<&%d-", redirector, redir_fd); executed 3 times by 1 test: cprintf ("%d<&%d-", redirector, redir_fd);Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1234 | break; executed 3 times by 1 test: break;Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1235 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1236 | case r_move_output: never executed: case r_move_output: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1237 | if (redirect->rflags & REDIR_VARASSIGN)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1238 | cprintf ("{%s}>&%d-", redir_word->word, redir_fd); never executed: cprintf ("{%s}>&%d-", redir_word->word, redir_fd); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1239 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1240 | cprintf ("%d>&%d-", redirector, redir_fd); never executed: cprintf ("%d>&%d-", redirector, redir_fd); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1241 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1242 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1243 | case r_move_input_word: executed 5 times by 1 test: case r_move_input_word:Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1244 | if (redirect->rflags & REDIR_VARASSIGN)
| 1-4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1245 | cprintf ("{%s}<&%s-", redir_word->word, redirectee->word); executed 4 times by 1 test: cprintf ("{%s}<&%s-", redir_word->word, redirectee->word);Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1246 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1247 | cprintf ("%d<&%s-", redirector, redirectee->word); executed 1 time by 1 test: cprintf ("%d<&%s-", redirector, redirectee->word);Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1248 | break; executed 5 times by 1 test: break;Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1249 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1250 | case r_move_output_word: executed 5 times by 1 test: case r_move_output_word:Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1251 | if (redirect->rflags & REDIR_VARASSIGN)
| 1-4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1252 | cprintf ("{%s}>&%s-", redir_word->word, redirectee->word); executed 4 times by 1 test: cprintf ("{%s}>&%s-", redir_word->word, redirectee->word);Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1253 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1254 | cprintf ("%d>&%s-", redirector, redirectee->word); executed 1 time by 1 test: cprintf ("%d>&%s-", redirector, redirectee->word);Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1255 | break; executed 5 times by 1 test: break;Executed by:
| 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1256 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1257 | case r_close_this: executed 1054 times by 1 test: case r_close_this:Executed by:
| 1054 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1258 | if (redirect->rflags & REDIR_VARASSIGN)
| 7-1047 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1259 | cprintf ("{%s}>&-", redir_word->word); executed 7 times by 1 test: cprintf ("{%s}>&-", redir_word->word);Executed by:
| 7 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1260 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1261 | cprintf ("%d>&-", redirector); executed 1047 times by 1 test: cprintf ("%d>&-", redirector);Executed by:
| 1047 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1262 | break; executed 1054 times by 1 test: break;Executed by:
| 1054 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1263 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1264 | case r_err_and_out: executed 15 times by 1 test: case r_err_and_out:Executed by:
| 15 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1265 | cprintf ("&> %s", redirectee->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1266 | break; executed 15 times by 1 test: break;Executed by:
| 15 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1267 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1268 | case r_append_err_and_out: executed 4 times by 1 test: case r_append_err_and_out:Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1269 | cprintf ("&>> %s", redirectee->word); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1270 | break; executed 4 times by 1 test: break;Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1271 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1272 | } executed 16264 times by 1 test: end of blockExecuted by:
| 16264 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1273 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1274 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1275 | reset_locals () | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1276 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1277 | inside_function_def = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1278 | indentation = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1279 | printing_connection = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1280 | deferred_heredocs = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1281 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1282 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1283 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1284 | print_function_def (func) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1285 | FUNCTION_DEF *func; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1286 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1287 | COMMAND *cmdcopy; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1288 | REDIRECT *func_redirects; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1289 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1290 | func_redirects = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1291 | /* When in posix mode, print functions as posix specifies them. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1292 | if (posixly_correct == 0)
| 0-11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1293 | cprintf ("function %s () \n", func->name->word); executed 11 times by 1 test: cprintf ("function %s () \n", func->name->word);Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1294 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1295 | cprintf ("%s () \n", func->name->word); never executed: cprintf ("%s () \n", func->name->word); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1296 | add_unwind_protect (reset_locals, 0); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1297 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1298 | indent (indentation); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1299 | cprintf ("{ \n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1300 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1301 | inside_function_def++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1302 | indentation += indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1303 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1304 | cmdcopy = copy_command (func->command); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1305 | if (cmdcopy->type == cm_group)
| 0-11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1306 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1307 | func_redirects = cmdcopy->redirects; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1308 | cmdcopy->redirects = (REDIRECT *)NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1309 | } executed 11 times by 1 test: end of blockExecuted by:
| 11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1310 | make_command_string_internal (cmdcopy->type == cm_group | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1311 | ? cmdcopy->value.Group->command | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1312 | : cmdcopy); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1313 | /* XXX - PRINT_DEFERRED_HEREDOCS (""); ? */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1314 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1315 | remove_unwind_protect (); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1316 | indentation -= indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1317 | inside_function_def--; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1318 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1319 | if (func_redirects)
| 0-11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1320 | { /* { */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1321 | newline ("} "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1322 | print_redirection_list (func_redirects); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1323 | cmdcopy->redirects = func_redirects; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1324 | } executed 11 times by 1 test: end of blockExecuted by:
| 11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1325 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1326 | newline ("}"); never executed: newline ("}"); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1327 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1328 | dispose_command (cmdcopy); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1329 | } executed 11 times by 1 test: end of blockExecuted by:
| 11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1330 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1331 | /* Return the string representation of the named function. | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1332 | NAME is the name of the function. | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1333 | COMMAND is the function body. It should be a GROUP_COM. | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1334 | flags&FUNC_MULTILINE is non-zero to pretty-print, or zero for all on one line. | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1335 | flags&FUNC_EXTERNAL means convert from internal to external form | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1336 | */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1337 | char * | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1338 | named_function_string (name, command, flags) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1339 | char *name; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1340 | COMMAND *command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1341 | int flags; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1342 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1343 | char *result; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1344 | int old_indent, old_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1345 | COMMAND *cmdcopy; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1346 | REDIRECT *func_redirects; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1347 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1348 | old_indent = indentation; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1349 | old_amount = indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1350 | command_string_index = was_heredoc = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1351 | deferred_heredocs = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1352 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1353 | if (name && *name)
| 0-304 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1354 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1355 | if (find_reserved_word (name) >= 0)
| 0-304 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1356 | cprintf ("function "); never executed: cprintf ("function "); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1357 | cprintf ("%s ", name); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1358 | } executed 304 times by 1 test: end of blockExecuted by:
| 304 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1359 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1360 | cprintf ("() "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1361 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1362 | if ((flags & FUNC_MULTILINE) == 0)
| 61-312 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1363 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1364 | indentation = 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1365 | indentation_amount = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1366 | } executed 61 times by 1 test: end of blockExecuted by:
| 61 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1367 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1368 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1369 | cprintf ("\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1370 | indentation += indentation_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1371 | } executed 312 times by 1 test: end of blockExecuted by:
| 312 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1372 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1373 | inside_function_def++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1374 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1375 | cprintf ((flags & FUNC_MULTILINE) ? "{ \n" : "{ "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1376 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1377 | cmdcopy = copy_command (command); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1378 | /* Take any redirections specified in the function definition (which should | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1379 | apply to the function as a whole) and save them for printing later. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1380 | func_redirects = (REDIRECT *)NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1381 | if (cmdcopy->type == cm_group)
| 12-361 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1382 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1383 | func_redirects = cmdcopy->redirects; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1384 | cmdcopy->redirects = (REDIRECT *)NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1385 | } executed 361 times by 1 test: end of blockExecuted by:
| 361 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1386 | make_command_string_internal (cmdcopy->type == cm_group | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1387 | ? cmdcopy->value.Group->command | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1388 | : cmdcopy); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1389 | /* XXX - PRINT_DEFERRED_HEREDOCS (""); ? */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1390 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1391 | indentation = old_indent; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1392 | indentation_amount = old_amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1393 | inside_function_def--; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1394 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1395 | if (func_redirects)
| 13-360 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1396 | { /* { */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1397 | newline ("} "); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1398 | print_redirection_list (func_redirects); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1399 | cmdcopy->redirects = func_redirects; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1400 | } executed 13 times by 1 test: end of blockExecuted by:
| 13 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1401 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1402 | newline ("}"); executed 360 times by 1 test: newline ("}");Executed by:
| 360 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1403 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1404 | result = the_printed_command; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1405 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1406 | if ((flags & FUNC_MULTILINE) == 0)
| 61-312 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1407 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1408 | #if 0 | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1409 | register int i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1410 | for (i = 0; result[i]; i++) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1411 | if (result[i] == '\n') | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1412 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1413 | strcpy (result + i, result + i + 1); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1414 | --i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1415 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1416 | #else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1417 | if (result[2] == '\n') /* XXX -- experimental */
| 0-61 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1418 | memmove (result + 2, result + 3, strlen (result) - 2); never executed: memmove (result + 2, result + 3, strlen (result) - 2); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1419 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1420 | } executed 61 times by 1 test: end of blockExecuted by:
| 61 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1421 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1422 | dispose_command (cmdcopy); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1423 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1424 | if (flags & FUNC_EXTERNAL)
| 61-312 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1425 | result = remove_quoted_escapes (result); executed 312 times by 1 test: result = remove_quoted_escapes (result);Executed by:
| 312 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1426 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1427 | return (result); executed 373 times by 1 test: return (result);Executed by:
| 373 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1428 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1429 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1430 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1431 | newline (string) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1432 | char *string; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1433 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1434 | cprintf ("\n"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1435 | indent (indentation); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1436 | if (string && *string)
| 0-3359 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1437 | cprintf ("%s", string); executed 3345 times by 1 test: cprintf ("%s", string);Executed by:
| 3345 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1438 | } executed 3359 times by 1 test: end of blockExecuted by:
| 3359 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1439 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1440 | static char *indentation_string; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1441 | static int indentation_size; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1442 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1443 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1444 | indent (amount) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1445 | int amount; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1446 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1447 | register int i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1448 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1449 | RESIZE_MALLOCED_BUFFER (indentation_string, 0, amount, indentation_size, 16); executed 3520 times by 1 test: indentation_size += (16);Executed by:
executed 3520 times by 1 test: end of blockExecuted by:
| 3520-10825 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1450 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1451 | for (i = 0; amount > 0; amount--)
| 14345-47659 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1452 | indentation_string[i++] = ' '; executed 47659 times by 1 test: indentation_string[i++] = ' ';Executed by:
| 47659 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1453 | indentation_string[i] = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1454 | cprintf ("%s", indentation_string); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1455 | } executed 14345 times by 1 test: end of blockExecuted by:
| 14345 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1456 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1457 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1458 | semicolon () | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1459 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1460 | if (command_string_index > 0 &&
| 0-3174 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1461 | (the_printed_command[command_string_index - 1] == '&' ||
| 2-3172 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1462 | the_printed_command[command_string_index - 1] == '\n'))
| 1-3171 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1463 | return; executed 3 times by 1 test: return;Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1464 | cprintf (";"); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1465 | } executed 3171 times by 1 test: end of blockExecuted by:
| 3171 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1466 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1467 | /* How to make the string. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1468 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1469 | #if defined (PREFER_STDARG) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1470 | cprintf (const char *control, ...) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1471 | #else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1472 | cprintf (control, va_alist) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1473 | const char *control; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1474 | va_dcl | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1475 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1476 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1477 | register const char *s; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1478 | char char_arg[2], *argp, intbuf[INT_STRLEN_BOUND (int) + 1]; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1479 | int digit_arg, arg_len, c; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1480 | va_list args; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1481 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1482 | SH_VA_START (args, control); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1483 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1484 | arg_len = strlen (control); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1485 | the_printed_command_resize (arg_len + 1); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1486 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1487 | char_arg[1] = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1488 | s = control; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1489 | while (s && *s)
| 0-840651695 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1490 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1491 | c = *s++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1492 | argp = (char *)NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1493 | if (c != '%' || !*s)
| 0-402537068 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1494 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1495 | char_arg[0] = c; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1496 | argp = char_arg; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1497 | arg_len = 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1498 | } executed 402537068 times by 1 test: end of blockExecuted by:
| 402537068 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1499 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1500 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1501 | c = *s++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1502 | switch (c) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1503 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1504 | case '%': never executed: case '%': | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1505 | char_arg[0] = c; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1506 | argp = char_arg; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1507 | arg_len = 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1508 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1509 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1510 | case 's': executed 269135731 times by 1 test: case 's':Executed by:
| 269135731 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1511 | argp = va_arg (args, char *); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1512 | arg_len = strlen (argp); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1513 | break; executed 269135731 times by 1 test: break;Executed by:
| 269135731 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1514 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1515 | case 'd': executed 6970 times by 1 test: case 'd':Executed by:
| 6970 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1516 | /* Represent an out-of-range file descriptor with an out-of-range | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1517 | integer value. We can do this because the only use of `%d' in | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1518 | the calls to cprintf is to output a file descriptor number for | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1519 | a redirection. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1520 | digit_arg = va_arg (args, int); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1521 | if (digit_arg < 0)
| 0-6970 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1522 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1523 | sprintf (intbuf, "%u", (unsigned)-1); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1524 | argp = intbuf; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1525 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1526 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1527 | argp = inttostr (digit_arg, intbuf, sizeof (intbuf)); executed 6970 times by 1 test: argp = inttostr (digit_arg, intbuf, sizeof (intbuf));Executed by:
| 6970 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1528 | arg_len = strlen (argp); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1529 | break; executed 6970 times by 1 test: break;Executed by:
| 6970 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1530 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1531 | case 'c': never executed: case 'c': | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1532 | char_arg[0] = va_arg (args, int); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1533 | argp = char_arg; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1534 | arg_len = 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1535 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1536 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1537 | default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1538 | programming_error (_("cprintf: `%c': invalid format character"), c); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1539 | /*NOTREACHED*/ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1540 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1541 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1542 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1543 | if (argp && arg_len)
| 0-671679769 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1544 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1545 | the_printed_command_resize (arg_len + 1); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1546 | FASTCOPY (argp, the_printed_command + command_string_index, arg_len); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1547 | command_string_index += arg_len; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1548 | } executed 594931490 times by 1 test: end of blockExecuted by:
| 594931490 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1549 | } executed 671679769 times by 1 test: end of blockExecuted by:
| 671679769 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1550 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1551 | va_end (args); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1552 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1553 | the_printed_command[command_string_index] = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1554 | } executed 168971926 times by 1 test: end of blockExecuted by:
| 168971926 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1555 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1556 | /* Ensure that there is enough space to stuff LENGTH characters into | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1557 | THE_PRINTED_COMMAND. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1558 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1559 | the_printed_command_resize (length) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1560 | int length; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1561 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1562 | if (the_printed_command == 0)
| 5419-763897997 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1563 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1564 | the_printed_command_size = (length + PRINTED_COMMAND_INITIAL_SIZE - 1) & ~(PRINTED_COMMAND_INITIAL_SIZE - 1); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1565 | the_printed_command = (char *)xmalloc (the_printed_command_size); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1566 | command_string_index = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1567 | } executed 5419 times by 1 test: end of blockExecuted by:
| 5419 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1568 | else if ((command_string_index + length) >= the_printed_command_size)
| 4307-763893690 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1569 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1570 | int new; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1571 | new = command_string_index + length + 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1572 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1573 | /* Round up to the next multiple of PRINTED_COMMAND_GROW_SIZE. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1574 | new = (new + PRINTED_COMMAND_GROW_SIZE - 1) & ~(PRINTED_COMMAND_GROW_SIZE - 1); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1575 | the_printed_command_size = new; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1576 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1577 | the_printed_command = (char *)xrealloc (the_printed_command, the_printed_command_size); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1578 | } executed 4307 times by 1 test: end of blockExecuted by:
| 4307 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1579 | } executed 763903416 times by 1 test: end of blockExecuted by:
| 763903416 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1580 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1581 | #if defined (HAVE_VPRINTF) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1582 | /* ``If vprintf is available, you may assume that vfprintf and vsprintf are | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1583 | also available.'' */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1584 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1585 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1586 | #if defined (PREFER_STDARG) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1587 | xprintf (const char *format, ...) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1588 | #else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1589 | xprintf (format, va_alist) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1590 | const char *format; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1591 | va_dcl | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1592 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1593 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1594 | va_list args; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1595 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1596 | SH_VA_START (args, format); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1597 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1598 | vfprintf (stdout, format, args); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1599 | va_end (args); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1600 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1601 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1602 | #else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1603 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1604 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1605 | xprintf (format, arg1, arg2, arg3, arg4, arg5) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1606 | const char *format; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1607 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1608 | printf (format, arg1, arg2, arg3, arg4, arg5); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1609 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1610 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1611 | #endif /* !HAVE_VPRINTF */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Source code | Switch to Preprocessed file |