| 299 | } |
| 300 | |
| 301 | static void |
| 302 | try_exec_man (const char *page, char *relative_to) { |
| 303 | int status; |
| 304 | |
| 305 | switch (fork()) { |
| 306 | case -1: |
| 307 | err(1, "Forking man command"); |
| 308 | case 0: |
| 309 | /* child, run man command. */ |
| 310 | if (relative_to != NULL) { |
| 311 | page = tal_fmt(page, "%s/../doc/%s.7", relative_to, page); |
| 312 | execlp("man", "man", "-l", page, (char *)NULL); |
| 313 | } |
| 314 | else { |
| 315 | execlp("man", "man", page, (char *)NULL); |
| 316 | } |
| 317 | |
| 318 | err(1, "Running man command"); |
| 319 | default: |
| 320 | break; |
| 321 | } |
| 322 | |
| 323 | wait(&status); |
| 324 | if (WIFEXITED(status) && WEXITSTATUS(status) == 0) |
| 325 | exit(0); |
| 326 | } |
| 327 | |
| 328 | static void print_json(const char *str, const jsmntok_t *tok, const char *indent) |
| 329 | { |