diff options
-rw-r--r-- | libdiskfs/file-get-transcntl.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/libdiskfs/file-get-transcntl.c b/libdiskfs/file-get-transcntl.c index 4a865d8c..2c31c2d1 100644 --- a/libdiskfs/file-get-transcntl.c +++ b/libdiskfs/file-get-transcntl.c @@ -1,5 +1,5 @@ /* libkdiskfs implementation of fs.defs: file_get_translator_cntl - Copyright (C) 1992, 1993, 1994 Free Software Foundation + Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -32,17 +32,13 @@ diskfs_S_file_get_translator_cntl (struct protid *cred, np = cred->po->np; - if (np->translator.control == MACH_PORT_NULL) + error = diskfs_isowner (np, cred); + if (!error) + error = fshelp_fetch_control (&np->transbox, ctl); + if (ctl == MACH_PORT_NULL) error = ENXIO; - else - error = diskfs_isowner (np, cred); - if (!error) - { - *ctl = np->translator.control; - *ctltype = MACH_MSG_TYPE_COPY_SEND; - } - + *ctltype = MACH_MSG_TYPE_COPY_SEND; diskfs_nput (np); return error; } |