mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-27 23:08:31 +00:00
Make improvements
- Expand redbean UNIX module - Expand redbean documentation - Ensure Lua copyright is embedded in binary - Increase the PATH_MAX limit especially on NT - Use column major sorting for linenoise completions - Fix some suboptimalities in redbean's new UNIX API - Figured out right flags for Multics newline in raw mode
This commit is contained in:
parent
cf3174dc74
commit
2046c0d2ae
305 changed files with 6602 additions and 4221 deletions
|
@ -18,6 +18,7 @@
|
|||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/calls/calls.h"
|
||||
#include "libc/calls/internal.h"
|
||||
#include "libc/calls/strace.internal.h"
|
||||
|
||||
/**
|
||||
* Sets real, effective, and "saved" user ids.
|
||||
|
@ -25,9 +26,17 @@
|
|||
* @param real sets real user id or -1 to do nothing
|
||||
* @param effective sets effective user id or -1 to do nothing
|
||||
* @param saved sets saved user id or -1 to do nothing
|
||||
* @see setreuid(), getauxval(AT_SECURE)
|
||||
* @see setresgid(), getauxval(AT_SECURE)
|
||||
* @raise ENOSYS on Windows NT
|
||||
*/
|
||||
int setresuid(uint32_t real, uint32_t effective, uint32_t saved) {
|
||||
if (saved == -1) return setreuid(real, effective);
|
||||
return sys_setresuid(real, effective, saved);
|
||||
int rc;
|
||||
if (saved != -1) {
|
||||
rc = sys_setresuid(real, effective, saved);
|
||||
} else {
|
||||
// polyfill xnu and netbsd
|
||||
rc = sys_setreuid(real, effective);
|
||||
}
|
||||
STRACE("setresuid(%d, %d, %d) → %d% m", real, effective, saved, rc);
|
||||
return rc;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue