summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libdiskfs/file-get-transcntl.c16
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;
}