iconv was not returning -1 on most failure
[musl] / src / misc / getrlimit.c
index db25943..1383525 100644 (file)
@@ -5,10 +5,10 @@
 int getrlimit(int resource, struct rlimit *rlim)
 {
        long k_rlim[2];
-       if (syscall2(__NR_ugetrlimit, resource, (long)k_rlim) < 0)
+       if (syscall(SYS_getrlimit, resource, k_rlim) < 0)
                return -1;
-       rlim->rlim_cur = k_rlim[0];
-       rlim->rlim_max = k_rlim[1];
+       rlim->rlim_cur = k_rlim[0] == -1 ? -1 : (unsigned long)k_rlim[0];
+       rlim->rlim_max = k_rlim[1] == -1 ? -1 : (unsigned long)k_rlim[1];
        return 0;
 }