mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-23 05:42:29 +00:00
Make improvements
- Add rusage to redbean Lua API - Add more redbean documentation - Add pledge() to redbean Lua API - Polyfill OpenBSD pledge() for Linux - Increase PATH_MAX limit to 1024 characters - Untrack sibling processes after fork() on Windows
This commit is contained in:
parent
9a6bd304a5
commit
47b3274665
212 changed files with 2251 additions and 834 deletions
|
@ -18,6 +18,7 @@
|
|||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/calls/calls.h"
|
||||
#include "libc/dce.h"
|
||||
#include "libc/macros.internal.h"
|
||||
#include "libc/paths.h"
|
||||
#include "libc/runtime/runtime.h"
|
||||
#include "libc/str/str.h"
|
||||
|
@ -29,14 +30,16 @@
|
|||
*/
|
||||
int systemexec(const char *cmdline) {
|
||||
size_t n, m;
|
||||
char *a, *b, *argv[4], comspec[PATH_MAX + 1];
|
||||
char *a, *b, *argv[4], comspec[PATH_MAX];
|
||||
if (!IsWindows()) {
|
||||
argv[0] = _PATH_BSHELL;
|
||||
argv[1] = "-c";
|
||||
} else {
|
||||
b = "cmd.exe";
|
||||
a = kNtSystemDirectory;
|
||||
if ((n = strlen(a)) + (m = strlen(b)) > PATH_MAX) return enametoolong();
|
||||
if ((n = strlen(a)) + (m = strlen(b)) >= ARRAYLEN(comspec)) {
|
||||
return enametoolong();
|
||||
}
|
||||
memcpy(mempcpy(comspec, a, n), b, m + 1);
|
||||
argv[0] = comspec;
|
||||
argv[1] = "/C";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue