summaryrefslogtreecommitdiff
path: root/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'process.c')
-rw-r--r--process.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/process.c b/process.c
index a24f4eb098..f957d24613 100644
--- a/process.c
+++ b/process.c
@@ -1516,7 +1516,7 @@ rb_exec_arg_addopt(struct rb_exec_arg *e, VALUE key, VALUE val)
hide_obj(rb_str_dup(val)));
}
else if (id == rb_intern("umask")) {
- mode_t cmask = NUM2LONG(val);
+ mode_t cmask = NUM2MODET(val);
if (!NIL_P(rb_ary_entry(options, EXEC_OPTION_UMASK))) {
rb_raise(rb_eArgError, "umask option specified twice");
}
@@ -2335,7 +2335,7 @@ rb_run_exec_options_err(const struct rb_exec_arg *e, struct rb_exec_arg *s, char
obj = rb_ary_entry(options, EXEC_OPTION_UMASK);
if (!NIL_P(obj)) {
- mode_t mask = NUM2LONG(obj);
+ mode_t mask = NUM2MODET(obj);
mode_t oldmask = umask(mask); /* never fail */
if (!NIL_P(soptions))
rb_ary_store(soptions, EXEC_OPTION_UMASK, LONG2NUM(oldmask));