cleanup multibyte stuff to remove ugly casts, sanitize the ptr align casts
[musl] / src / ipc / shmat.c
1 #include <sys/shm.h>
2 #include "syscall.h"
3 #include "ipc.h"
4
5 #ifdef __NR_shmat
6 void *shmat(int id, const void *addr, int flag)
7 {
8         return syscall3(__NR_shmat, id, (long)addr, flag);
9 }
10 #else
11 void *shmat(int id, const void *addr, int flag)
12 {
13         unsigned long ret;
14         ret = syscall5(__NR_ipc, IPCOP_shmat, id, flag, (long)&addr, (long)addr);
15         return (ret > -(unsigned long)SHMLBA) ? (void *)ret : (void *)addr;
16 }
17 #endif