summaryrefslogtreecommitdiff
path: root/src/mkfifo.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2005-04-28 16:31:09 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2005-04-28 16:31:09 +0000
commitb1fdaf5ac762d11268d204df221051c737fdb0b3 (patch)
tree6145d86717d6356922b4df168d335e820edcf279 /src/mkfifo.c
parent30f5286c505979dab83b5b009c3681d9b4fa9671 (diff)
downloadcoreutils-b1fdaf5ac762d11268d204df221051c737fdb0b3.tar.xz
(main): Adjust to new modechange API.
Also, free the mode_change object when done.
Diffstat (limited to 'src/mkfifo.c')
-rw-r--r--src/mkfifo.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/mkfifo.c b/src/mkfifo.c
index a579dbe33..5a9b7efab 100644
--- a/src/mkfifo.c
+++ b/src/mkfifo.c
@@ -75,7 +75,6 @@ int
main (int argc, char **argv)
{
mode_t newmode;
- struct mode_change *change;
const char *specified_mode;
int exit_status = EXIT_SUCCESS;
int optc;
@@ -116,13 +115,11 @@ main (int argc, char **argv)
newmode = (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
if (specified_mode)
{
- change = mode_compile (specified_mode, MODE_MASK_ALL);
- if (change == MODE_INVALID)
+ struct mode_change *change = mode_compile (specified_mode);
+ if (!change)
error (EXIT_FAILURE, 0, _("invalid mode"));
- else if (change == MODE_MEMORY_EXHAUSTED)
- xalloc_die ();
- newmode = mode_adjust (newmode, change);
- umask (0);
+ newmode = mode_adjust (newmode, change, umask (0));
+ mode_free (change);
}
for (; optind < argc; ++optind)