summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib.h2
-rw-r--r--sysif.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/lib.h b/lib.h
index b2cadfac..f3d45e2b 100644
--- a/lib.h
+++ b/lib.h
@@ -768,6 +768,8 @@ val plist_to_alist(val list);
val improper_plist_to_alist(val list, val boolean_keys);
val num(cnum val);
val unum(ucnum u);
+#define num_ex(x) if3((x) > (ucnum) INT_PTR_MAX, unum(x), num(x))
+
val flo(double val);
cnum c_num(val num, val self);
ucnum c_unum(val num, val self);
diff --git a/sysif.c b/sysif.c
index 56817f2c..be6e020a 100644
--- a/sysif.c
+++ b/sysif.c
@@ -3173,9 +3173,9 @@ void sysif_init(void)
reg_varl(intern(lit("rlim-infinity"), user_package), rlim_inf);
}
#else
- reg_varl(intern(lit("rlim-saved-max"), user_package), num_fast(RLIM_SAVED_MAX));
- reg_varl(intern(lit("rlim-saved-cur"), user_package), num_fast(RLIM_SAVED_CUR));
- reg_varl(intern(lit("rlim-infinity"), user_package), num_fast(RLIM_INFINITY));
+ reg_varl(intern(lit("rlim-saved-max"), user_package), num_ex(RLIM_SAVED_MAX));
+ reg_varl(intern(lit("rlim-saved-cur"), user_package), num_ex(RLIM_SAVED_CUR));
+ reg_varl(intern(lit("rlim-infinity"), user_package), num_ex(RLIM_INFINITY));
#endif
reg_varl(intern(lit("rlimit-core"), user_package), num_fast(RLIMIT_CORE));
reg_varl(intern(lit("rlimit-cpu"), user_package), num_fast(RLIMIT_CPU));