[*] 346a9f3bde still isnt good enough. why the fuck must all (not projecting), all, linux code even from the kernel maintainers have fucked syscall checks?

This commit is contained in:
Reece Wilson 2023-08-26 16:43:31 +01:00
parent 346a9f3bde
commit 4b1e3fd1e5

View File

@ -26,20 +26,18 @@ namespace Aurora
long syscallFuckYou(T &&... args)
{
// sysdeps/unix/sysv/linux/x86_64/syscall.S
// Freetards deserve the rope
// Fuck Freetards
long iFuckResult = syscall(AuForward<T &&>(args)...);
#if defined(AURORA_IS_GLIBC)
if (iFuckResult == -1
&& errno < 0)
if (iFuckResult == -1 &&
errno > 0)
{
// Lynch freetards
return (0 - errno);
}
#else
// TODO: if defined UNIX has a libc wrapper. why would we assume there's a CRT to begin with?
errno = (0 - iFuckResult);
#endif
// Hit freetards over the head with a baseball bat
return iFuckResult;
// Imagine going out of your way to define a varadic syscall wrapper that works without any special formatting parameters,
// works across all abis, just to fuck it into uselessness by returning -ENOSYS and -1 spuriously.