this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Push host env vars to spawned shell

+26
+26
src/startup/darling.c
··· 579 579 580 580 void setupShellspawnEnv(int sockfd) 581 581 { 582 + static const char* skip_vars[] = { 583 + "PATH", 584 + "TMPDIR", 585 + "HOME", 586 + }; 587 + 582 588 char buffer2[4096]; 583 589 584 590 // Push environment variables ··· 606 612 607 613 snprintf(buffer2, sizeof(buffer2), "HOME=/Users/%s", login); 608 614 pushShellspawnCommand(sockfd, SHELLSPAWN_SETENV, buffer2); 615 + 616 + for (char** var_ptr = environ; *var_ptr != NULL; ++var_ptr) { 617 + const char* var = *var_ptr; 618 + const char* equal = strchr(var, '='); 619 + size_t name_len = (equal != NULL) ? (size_t)(equal - var) : strlen(var); 620 + bool skip_it = false; 621 + 622 + for (size_t i = 0; i < sizeof(skip_vars) / sizeof(*skip_vars); ++i) { 623 + if (strlen(skip_vars[i]) == name_len && strncmp(var, skip_vars[i], name_len) == 0) { 624 + skip_it = true; 625 + break; 626 + } 627 + } 628 + 629 + if (skip_it) { 630 + continue; 631 + } 632 + 633 + pushShellspawnCommand(sockfd, SHELLSPAWN_SETENV, var); 634 + } 609 635 } 610 636 611 637 void setupWorkingDir(int sockfd)