rlimits.rlim_cur = MIN ((unsigned long int) rlimits.rlim_cur, RLIM_INFINITY >> 2); rlimits.rlim_max = MIN ((unsigned long int) rlimits.rlim_max, RLIM_INFINITY >> 2);
rlimits->rlim_cur = MIN ((unsigned long int) rlimits->rlim_cur, RLIM_INFINITY >> 2); rlimits->rlim_max = MIN ((unsigned long int) rlimits->rlim_max, RLIM_INFINITY >> 2);
__setrlimit (resource, rlimits)     enum __rlimit_resource resource;     const struct rlimit *rlimits;{#ifdef __NR_ugetrlimit  if (! no_new_getrlimit)    {      int result = INLINE_SYSCALL (setrlimit, 2, resource, rlimits);# ifndef __ASSUME_NEW_GETRLIMIT_SYSCALL      /* If the system call is available return.  */      if (result != -1 || errno != ENOSYS)# endif	return result;# ifndef __ASSUME_NEW_GETRLIMIT_SYSCALL      /* Remember that the system call is not available.  */      no_new_getrlimit = 1;# endif    }#endif#ifndef __ASSUME_NEW_GETRLIMIT_SYSCALL  /* We might have to correct the limits values.  Since the old values     were signed the new values are too large.  */  rlimits.rlim_cur = MIN ((unsigned long int) rlimits.rlim_cur,			  RLIM_INFINITY >> 2);  rlimits.rlim_max = MIN ((unsigned long int) rlimits.rlim_max,			  RLIM_INFINITY >> 2);  /* Fall back on the old system call.  */  return INLINE_SYSCALL (setrlimit, 2, resource, rlimits);#endif}