mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-06 03:08:31 +00:00
Fix some static analysis issues
This commit is contained in:
parent
fb54604b31
commit
f147d3dde9
30 changed files with 375 additions and 266 deletions
|
@ -69,48 +69,49 @@ COSMOPOLITAN_C_START_
|
|||
/*───────────────────────────────────────────────────────────────────────────│─╗
|
||||
│ cosmopolitan § system calls ─╬─│┼
|
||||
╚────────────────────────────────────────────────────────────────────────────│*/
|
||||
/* clang-format off */
|
||||
|
||||
typedef int sig_atomic_t;
|
||||
|
||||
bool32 isatty(int) libcesque;
|
||||
char *getcwd(char *, size_t) dontthrow;
|
||||
char *realpath(const char *, char *) libcesque __wur;
|
||||
char *getcwd(char *, size_t) dontthrow __write_only(1, 2);
|
||||
char *realpath(const char *, char *) libcesque __wur __read_only(1) __write_only(2);
|
||||
char *ttyname(int) libcesque;
|
||||
int access(const char *, int) libcesque;
|
||||
int chdir(const char *) libcesque;
|
||||
int chmod(const char *, unsigned) libcesque;
|
||||
int chown(const char *, unsigned, unsigned) libcesque;
|
||||
int chroot(const char *) libcesque;
|
||||
int access(const char *, int) libcesque __read_only(1);
|
||||
int chdir(const char *) libcesque __read_only(1);
|
||||
int chmod(const char *, unsigned) libcesque __read_only(1);
|
||||
int chown(const char *, unsigned, unsigned) libcesque __read_only(1);
|
||||
int chroot(const char *) libcesque __read_only(1);
|
||||
int close(int) libcesque;
|
||||
int close_range(unsigned, unsigned, unsigned) libcesque;
|
||||
int closefrom(int) libcesque;
|
||||
int creat(const char *, unsigned) libcesque;
|
||||
int creat(const char *, unsigned) libcesque __read_only(1);
|
||||
int dup(int) libcesque;
|
||||
int dup2(int, int) libcesque;
|
||||
int dup3(int, int, int) libcesque;
|
||||
int execl(const char *, const char *, ...) nullterminated() libcesque;
|
||||
int execle(const char *, const char *, ...) nullterminated((1)) libcesque;
|
||||
int execlp(const char *, const char *, ...) nullterminated() libcesque;
|
||||
int execv(const char *, char *const[]) libcesque;
|
||||
int execve(const char *, char *const[], char *const[]) libcesque;
|
||||
int execvp(const char *, char *const[]) libcesque;
|
||||
int faccessat(int, const char *, int, int) libcesque;
|
||||
int execl(const char *, const char *, ...) nullterminated() libcesque __read_only(1) __read_only(2);
|
||||
int execle(const char *, const char *, ...) nullterminated((1)) libcesque __read_only(1) __read_only(2);
|
||||
int execlp(const char *, const char *, ...) nullterminated() libcesque __read_only(1) __read_only(2);
|
||||
int execv(const char *, char *const[]) libcesque __read_only(1) __read_only(2);
|
||||
int execve(const char *, char *const[], char *const[]) libcesque __read_only(1) __read_only(2) __read_only(3);
|
||||
int execvp(const char *, char *const[]) libcesque __read_only(1) __read_only(2);
|
||||
int faccessat(int, const char *, int, int) libcesque __read_only(2);
|
||||
int fchdir(int) libcesque;
|
||||
int fchmod(int, unsigned) libcesque;
|
||||
int fchmodat(int, const char *, unsigned, int) libcesque;
|
||||
int fchmodat(int, const char *, unsigned, int) libcesque __read_only(2);
|
||||
int fchown(int, unsigned, unsigned) libcesque;
|
||||
int fchownat(int, const char *, unsigned, unsigned, int) libcesque;
|
||||
int fchownat(int, const char *, unsigned, unsigned, int) libcesque __read_only(2);
|
||||
int fcntl(int, int, ...) libcesque;
|
||||
int fdatasync(int) libcesque;
|
||||
int fexecve(int, char *const[], char *const[]) libcesque;
|
||||
int fexecve(int, char *const[], char *const[]) libcesque __read_only(2) __read_only(3);
|
||||
int flock(int, int) libcesque;
|
||||
int fork(void) libcesque;
|
||||
int fsync(int) libcesque;
|
||||
int ftruncate(int, int64_t) libcesque;
|
||||
int getdomainname(char *, size_t) libcesque;
|
||||
int getgroups(int, unsigned[]) libcesque;
|
||||
int gethostname(char *, size_t) libcesque;
|
||||
int getloadavg(double *, int) libcesque;
|
||||
int getdomainname(char *, size_t) libcesque __write_only(1, 2);
|
||||
int getgroups(int, unsigned[]) libcesque __write_only(2, 1);
|
||||
int gethostname(char *, size_t) libcesque __write_only(1, 2);
|
||||
int getloadavg(double *, int) libcesque __write_only(1, 2);
|
||||
int getpgid(int) libcesque;
|
||||
int getpgrp(void) libcesque nosideeffect;
|
||||
int getpid(void) libcesque nosideeffect;
|
||||
|
@ -121,35 +122,35 @@ int ioctl(int, unsigned long, ...) libcesque;
|
|||
int issetugid(void) libcesque;
|
||||
int kill(int, int) libcesque;
|
||||
int killpg(int, int) libcesque;
|
||||
int lchmod(const char *, unsigned) libcesque;
|
||||
int lchown(const char *, unsigned, unsigned) libcesque;
|
||||
int link(const char *, const char *) libcesque;
|
||||
int linkat(int, const char *, int, const char *, int) libcesque;
|
||||
int mincore(void *, size_t, unsigned char *) libcesque;
|
||||
int mkdir(const char *, unsigned) libcesque;
|
||||
int mkdirat(int, const char *, unsigned) libcesque;
|
||||
int mknod(const char *, unsigned, uint64_t) libcesque;
|
||||
int lchmod(const char *, unsigned) libcesque __read_only(1);
|
||||
int lchown(const char *, unsigned, unsigned) libcesque __read_only(1);
|
||||
int link(const char *, const char *) libcesque __read_only(1) __read_only(2);
|
||||
int linkat(int, const char *, int, const char *, int) libcesque __read_only(2) __read_only(4);
|
||||
int mincore(void *, size_t, unsigned char *) libcesque __read_only(1) __write_only(3);
|
||||
int mkdir(const char *, unsigned) libcesque __read_only(1);
|
||||
int mkdirat(int, const char *, unsigned) libcesque __read_only(2);
|
||||
int mknod(const char *, unsigned, uint64_t) libcesque __read_only(1);
|
||||
int nice(int) libcesque;
|
||||
int open(const char *, int, ...) libcesque;
|
||||
int openat(int, const char *, int, ...) libcesque;
|
||||
int open(const char *, int, ...) libcesque __read_only(1);
|
||||
int openat(int, const char *, int, ...) libcesque __read_only(2);
|
||||
int pause(void) libcesque;
|
||||
int pipe(int[2]) libcesque;
|
||||
int pipe2(int[2], int) libcesque;
|
||||
int pipe(int[2]) libcesque __write_only(1);
|
||||
int pipe2(int[2], int) libcesque __write_only(1);
|
||||
int posix_fadvise(int, int64_t, int64_t, int) libcesque;
|
||||
int posix_madvise(void *, uint64_t, int) libcesque;
|
||||
int posix_madvise(void *, uint64_t, int) libcesque __read_write(1);
|
||||
int raise(int) libcesque;
|
||||
int reboot(int) libcesque;
|
||||
int remove(const char *) libcesque;
|
||||
int rename(const char *, const char *) libcesque;
|
||||
int renameat(int, const char *, int, const char *) libcesque;
|
||||
int rmdir(const char *) libcesque;
|
||||
int remove(const char *) libcesque __read_only(1);
|
||||
int rename(const char *, const char *) libcesque __read_only(1) __read_only(2);
|
||||
int renameat(int, const char *, int, const char *) libcesque __read_only(2) __read_only(4);
|
||||
int rmdir(const char *) libcesque __read_only(1);
|
||||
int sched_yield(void) libcesque;
|
||||
int setegid(unsigned) libcesque;
|
||||
int seteuid(unsigned) libcesque;
|
||||
int setfsgid(unsigned) libcesque;
|
||||
int setfsuid(unsigned) libcesque;
|
||||
int setgid(unsigned) libcesque;
|
||||
int setgroups(size_t, const unsigned[]) libcesque;
|
||||
int setgroups(size_t, const unsigned[]) libcesque __read_only(2);
|
||||
int setpgid(int, int) libcesque;
|
||||
int setpgrp(void) libcesque;
|
||||
int setpriority(int, unsigned, int) libcesque;
|
||||
|
@ -157,32 +158,32 @@ int setregid(unsigned, unsigned) libcesque;
|
|||
int setreuid(unsigned, unsigned) libcesque;
|
||||
int setsid(void) libcesque;
|
||||
int setuid(unsigned) libcesque;
|
||||
int shm_open(const char *, int, unsigned) libcesque;
|
||||
int shm_unlink(const char *) libcesque;
|
||||
int shm_open(const char *, int, unsigned) libcesque __read_only(1);
|
||||
int shm_unlink(const char *) libcesque __read_only(1);
|
||||
int sigignore(int) libcesque;
|
||||
int siginterrupt(int, int) libcesque;
|
||||
int symlink(const char *, const char *) libcesque;
|
||||
int symlinkat(const char *, int, const char *) libcesque;
|
||||
int symlink(const char *, const char *) libcesque __read_only(1) __read_only(2);
|
||||
int symlinkat(const char *, int, const char *) libcesque __read_only(1) __read_only(3);
|
||||
int tcgetpgrp(int) libcesque;
|
||||
int tcsetpgrp(int, int) libcesque;
|
||||
int truncate(const char *, int64_t) libcesque;
|
||||
int ttyname_r(int, char *, size_t) libcesque;
|
||||
int unlink(const char *) libcesque;
|
||||
int unlinkat(int, const char *, int) libcesque;
|
||||
int truncate(const char *, int64_t) libcesque __read_only(1);
|
||||
int ttyname_r(int, char *, size_t) libcesque __write_only(2, 3);
|
||||
int unlink(const char *) libcesque __read_only(1);
|
||||
int unlinkat(int, const char *, int) libcesque __read_only(2);
|
||||
int usleep(uint64_t) libcesque;
|
||||
int vfork(void) libcesque returnstwice;
|
||||
int wait(int *) libcesque;
|
||||
int waitpid(int, int *, int) libcesque;
|
||||
int wait(int *) libcesque __write_only(1);
|
||||
int waitpid(int, int *, int) libcesque __write_only(2);
|
||||
int64_t clock(void) libcesque;
|
||||
int64_t time(int64_t *) libcesque;
|
||||
ssize_t copy_file_range(int, long *, int, long *, size_t, unsigned) libcesque;
|
||||
int64_t time(int64_t *) libcesque __write_only(1);
|
||||
ssize_t copy_file_range(int, long *, int, long *, size_t, unsigned) libcesque __read_write(2) __read_write(4);
|
||||
ssize_t lseek(int, int64_t, int) libcesque;
|
||||
ssize_t pread(int, void *, size_t, int64_t) libcesque;
|
||||
ssize_t pwrite(int, const void *, size_t, int64_t) libcesque;
|
||||
ssize_t read(int, void *, size_t) libcesque;
|
||||
ssize_t readlink(const char *, char *, size_t) libcesque;
|
||||
ssize_t readlinkat(int, const char *, char *, size_t) libcesque;
|
||||
ssize_t write(int, const void *, size_t) libcesque;
|
||||
ssize_t pread(int, void *, size_t, int64_t) libcesque __write_only(2, 3);
|
||||
ssize_t pwrite(int, const void *, size_t, int64_t) libcesque __read_only(2);
|
||||
ssize_t read(int, void *, size_t) libcesque __write_only(2, 3);
|
||||
ssize_t readlink(const char *, char *, size_t) libcesque __read_only(1) __write_only(2, 3);
|
||||
ssize_t readlinkat(int, const char *, char *, size_t) libcesque __read_only(2) __write_only(3, 4);
|
||||
ssize_t write(int, const void *, size_t) libcesque __read_only(2);
|
||||
unsigned alarm(unsigned) libcesque;
|
||||
unsigned getegid(void) libcesque nosideeffect;
|
||||
unsigned geteuid(void) libcesque nosideeffect;
|
||||
|
@ -199,50 +200,50 @@ int prctl(int, ...) libcesque;
|
|||
int gettid(void) libcesque;
|
||||
int setresgid(unsigned, unsigned, unsigned) libcesque;
|
||||
int setresuid(unsigned, unsigned, unsigned) libcesque;
|
||||
int getresgid(unsigned *, unsigned *, unsigned *) libcesque;
|
||||
int getresuid(unsigned *, unsigned *, unsigned *) libcesque;
|
||||
int getresgid(unsigned *, unsigned *, unsigned *) libcesque __write_only(1) __write_only(2) __write_only(3);
|
||||
int getresuid(unsigned *, unsigned *, unsigned *) libcesque __write_only(1) __write_only(2) __write_only(3);
|
||||
char *get_current_dir_name(void) libcesque __wur;
|
||||
ssize_t splice(int, int64_t *, int, int64_t *, size_t, unsigned) libcesque;
|
||||
int memfd_create(const char *, unsigned int) libcesque;
|
||||
int execvpe(const char *, char *const[], char *const[]) libcesque;
|
||||
int euidaccess(const char *, int) libcesque;
|
||||
int eaccess(const char *, int) libcesque;
|
||||
int madvise(void *, uint64_t, int) libcesque;
|
||||
int getcpu(unsigned *, unsigned *) libcesque;
|
||||
ssize_t splice(int, int64_t *, int, int64_t *, size_t, unsigned) libcesque __read_write(2) __read_write(4);
|
||||
int memfd_create(const char *, unsigned int) libcesque __read_only(1);
|
||||
int execvpe(const char *, char *const[], char *const[]) libcesque __read_only(1) __read_only(2) __read_only(3);
|
||||
int euidaccess(const char *, int) libcesque __read_only(1);
|
||||
int eaccess(const char *, int) libcesque __read_only(1);
|
||||
int madvise(void *, uint64_t, int) libcesque __read_write(1);
|
||||
int getcpu(unsigned *, unsigned *) libcesque __write_only(1) __write_only(2);
|
||||
#endif
|
||||
|
||||
#ifdef _COSMO_SOURCE
|
||||
bool32 fdexists(int) libcesque;
|
||||
bool32 fileexists(const char *) libcesque;
|
||||
bool32 fileexists(const char *) libcesque __read_only(1);
|
||||
bool32 ischardev(int) libcesque;
|
||||
bool32 isdirectory(const char *) libcesque;
|
||||
bool32 isexecutable(const char *) libcesque;
|
||||
bool32 isregularfile(const char *) libcesque;
|
||||
bool32 issymlink(const char *) libcesque;
|
||||
char *commandv(const char *, char *, size_t) libcesque;
|
||||
int __getcwd(char *, size_t) libcesque;
|
||||
bool32 isdirectory(const char *) libcesque __read_only(1);
|
||||
bool32 isexecutable(const char *) libcesque __read_only(1);
|
||||
bool32 isregularfile(const char *) libcesque __read_only(1);
|
||||
bool32 issymlink(const char *) libcesque __read_only(1);
|
||||
char *commandv(const char *, char *, size_t) libcesque __read_only(1) __write_only(2, 3);
|
||||
int __getcwd(char *, size_t) libcesque __write_only(1, 2);
|
||||
int clone(void *, void *, size_t, int, void *, void *, void *, void *);
|
||||
int fadvise(int, uint64_t, uint64_t, int) libcesque;
|
||||
int makedirs(const char *, unsigned) libcesque;
|
||||
int pivot_root(const char *, const char *) libcesque;
|
||||
int pledge(const char *, const char *) libcesque;
|
||||
int seccomp(unsigned, unsigned, void *) libcesque;
|
||||
int makedirs(const char *, unsigned) libcesque __read_only(1);
|
||||
int pivot_root(const char *, const char *) libcesque __read_only(1) __read_only(2);
|
||||
int pledge(const char *, const char *) libcesque __read_only(1) __read_only(2);
|
||||
int seccomp(unsigned, unsigned, void *) libcesque __read_only(3);
|
||||
int sys_iopl(int) libcesque;
|
||||
int sys_ioprio_get(int, int) libcesque;
|
||||
int sys_ioprio_set(int, int, int) libcesque;
|
||||
int sys_mlock(const void *, size_t) libcesque;
|
||||
int sys_mlock2(const void *, size_t, int) libcesque;
|
||||
int sys_mlock(const void *, size_t) libcesque __read_only(1);
|
||||
int sys_mlock2(const void *, size_t, int) libcesque __read_only(1);
|
||||
int sys_mlockall(int) libcesque;
|
||||
int sys_munlock(const void *, size_t) libcesque;
|
||||
int sys_munlock(const void *, size_t) libcesque __read_only(1);
|
||||
int sys_munlockall(void) libcesque;
|
||||
int sys_personality(uint64_t) libcesque;
|
||||
int sys_ptrace(int, ...) libcesque;
|
||||
int sysctl(int *, unsigned, void *, size_t *, void *, size_t) libcesque;
|
||||
int sysctlbyname(const char *, void *, size_t *, void *, size_t) libcesque;
|
||||
int sysctlnametomib(const char *, int *, size_t *) libcesque;
|
||||
int sysctl(int *, unsigned, void *, size_t *, void *, size_t) libcesque __read_write(1) __read_write(4) __read_write(5);
|
||||
int sysctlbyname(const char *, void *, size_t *, void *, size_t) libcesque __read_only(1) __write_only(2) __read_write(3) __read_only(4);
|
||||
int sysctlnametomib(const char *, int *, size_t *) libcesque __read_only(1) __write_only(2) __read_write(3);
|
||||
int tmpfd(void) libcesque;
|
||||
int touch(const char *, unsigned) libcesque;
|
||||
int unveil(const char *, const char *) libcesque;
|
||||
int touch(const char *, unsigned) libcesque __read_only(1);
|
||||
int unveil(const char *, const char *) libcesque __read_only(1);
|
||||
long ptrace(int, ...) libcesque;
|
||||
ssize_t copyfd(int, int, size_t) libcesque;
|
||||
ssize_t readansi(int, char *, size_t) libcesque;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue