diff options
Diffstat (limited to 'system/ksh/patches/linux/c_sh_c.diff')
-rw-r--r-- | system/ksh/patches/linux/c_sh_c.diff | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/system/ksh/patches/linux/c_sh_c.diff b/system/ksh/patches/linux/c_sh_c.diff deleted file mode 100644 index 09b74c7a0b..0000000000 --- a/system/ksh/patches/linux/c_sh_c.diff +++ /dev/null @@ -1,49 +0,0 @@ ---- ksh-openbsd_cvs/c_sh.c 2010-03-27 17:25:30.000000000 +0100 -+++ ksh-openbsd_cvs.new/c_sh.c 2010-04-01 21:01:24.132137763 +0200 -@@ -837,19 +837,13 @@ c_mknod(char **wp) - { - int argc, optc, ismkfifo = 0, ret; - char **argv; -- void *set = NULL; -- mode_t mode = 0, oldmode = 0; -+ mode_t mode = 0, old_umask = -1; - - while ((optc = ksh_getopt(wp, &builtin_opt, "m:")) != -1) { - switch (optc) { - case 'm': -- set = setmode(builtin_opt.optarg); -- if (set == NULL) { -- bi_errorf("invalid file mode"); -- return 1; -- } -- mode = getmode(set, DEFFILEMODE); -- free(set); -+ old_umask = umask(0); -+ mode |= strtoul(builtin_opt.optarg, NULL, 8); - break; - default: - goto usage; -@@ -866,18 +860,17 @@ c_mknod(char **wp) - } else if (argc != 4) - goto usage; - -- if (set) -- oldmode = umask(0); -- else -- mode = DEFFILEMODE; -+ if (old_umask == -1) -+ mode |= DEFFILEMODE; - - if (ismkfifo) - ret = domkfifo(argc, argv, mode); - else - ret = domknod(argc, argv, mode); - -- if (set) -- umask(oldmode); -+ if (old_umask != -1) -+ umask(old_umask); -+ - return ret; - usage: - builtin_argv0 = NULL; |