svn commit: r278905 - head/lib/libc/gen
Pedro F. Giffuni
pfg at FreeBSD.org
Tue Feb 17 16:01:02 UTC 2015
Author: pfg
Date: Tue Feb 17 16:01:00 2015
New Revision: 278905
URL: https://svnweb.freebsd.org/changeset/base/278905
Log:
ulimit(3): simplify.
rlim_t is at least as large as long, so we don't need the
extra variable to keep the intermediate step. We don't
need the volatile either.
The code was tested on i386 and amd64.
Suggested by: bde
X-MFC with: r278803
Modified:
head/lib/libc/gen/ulimit.c
Modified: head/lib/libc/gen/ulimit.c
==============================================================================
--- head/lib/libc/gen/ulimit.c Tue Feb 17 15:19:58 2015 (r278904)
+++ head/lib/libc/gen/ulimit.c Tue Feb 17 16:01:00 2015 (r278905)
@@ -33,7 +33,6 @@
#include <errno.h>
#include <limits.h>
#include <stdarg.h>
-#include <stdint.h>
#include <ulimit.h>
long
@@ -41,8 +40,7 @@ ulimit(int cmd, ...)
{
struct rlimit limit;
va_list ap;
- volatile intmax_t targ;
- long arg;
+ rlim_t arg;
if (cmd == UL_GETFSIZE) {
if (getrlimit(RLIMIT_FSIZE, &limit) == -1)
@@ -53,18 +51,18 @@ ulimit(int cmd, ...)
return ((long)limit.rlim_cur);
} else if (cmd == UL_SETFSIZE) {
va_start(ap, cmd);
- targ = arg = va_arg(ap, long);
+ arg = va_arg(ap, long);
va_end(ap);
- if (targ < 0)
- targ = LONG_MAX;
- if (targ > RLIM_INFINITY / 512)
- targ = RLIM_INFINITY / 512;
- limit.rlim_max = limit.rlim_cur = targ * 512;
+ if (arg < 0)
+ arg = LONG_MAX;
+ if (arg > RLIM_INFINITY / 512)
+ arg = RLIM_INFINITY / 512;
+ limit.rlim_max = limit.rlim_cur = arg * 512;
/* The setrlimit() function sets errno to EPERM if needed. */
if (setrlimit(RLIMIT_FSIZE, &limit) == -1)
return (-1);
- return ((long)targ);
+ return ((long)arg);
} else {
errno = EINVAL;
return (-1);
More information about the svn-src-all
mailing list