| 107 | } |
| 108 | |
| 109 | static void setup_pager_env(struct strvec *env) |
| 110 | { |
| 111 | char **argv; |
| 112 | int i; |
| 113 | char *pager_env = xstrdup(PAGER_ENV); |
| 114 | /* split_cmdline splits in place, so we know the result is writable */ |
| 115 | int n = split_cmdline(pager_env, (const char ***)&argv); |
| 116 | |
| 117 | if (n < 0) |
| 118 | die("malformed build-time PAGER_ENV: %s", |
| 119 | split_cmdline_strerror(n)); |
| 120 | |
| 121 | for (i = 0; i < n; i++) { |
| 122 | char *cp = strchr(argv[i], '='); |
| 123 | |
| 124 | if (!cp) |
| 125 | die("malformed build-time PAGER_ENV"); |
| 126 | |
| 127 | *cp = '\0'; |
| 128 | if (!getenv(argv[i])) { |
| 129 | *cp = '='; |
| 130 | strvec_push(env, argv[i]); |
| 131 | } |
| 132 | } |
| 133 | free(pager_env); |
| 134 | free(argv); |
| 135 | } |
| 136 | |
| 137 | void prepare_pager_args(struct child_process *pager_process, const char *pager) |
| 138 | { |
no test coverage detected