From da97be8c65019c00d52a8e5bd76e4704ec873c6c Mon Sep 17 00:00:00 2001
From: Carl Fredrik Hammar <hammy.lite@gmail.com>
Date: Sat, 4 Jul 2009 17:29:53 +0200
Subject: [PATCH] Don't pass client flags to internal firmlink look-up

* trans/firmlink.c (firmlink): Call file_name_lookup without open flags.
Remove unused parameter.
All callers changed.
---
 trans/firmlink.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/trans/firmlink.c b/trans/firmlink.c
index 087e19d..62089ef 100644
--- a/trans/firmlink.c
+++ b/trans/firmlink.c
@@ -97,12 +97,11 @@ main (int argc, char **argv)
 /* Return in LINK the node that TARGET_NAME resolves to, with its parent
    replaced by PARENT.  FLAGS are the flags to open TARGET_NAME with.  */
 static error_t
-firmlink (mach_port_t parent, const char *target_name, int flags,
-	  mach_port_t *link)
+firmlink (mach_port_t parent, const char *target_name, mach_port_t *link)
 {
   error_t err;
   file_t authed_link;
-  file_t target = file_name_lookup (target_name, flags & ~O_CREAT, 0);
+  file_t target = file_name_lookup (target_name, 0, 0);
 
   if (target == MACH_PORT_NULL)
     return errno;
@@ -142,7 +141,7 @@ getroot (struct trivfs_control *cntl,
 	 retry_type *do_retry, char *retry_name,
 	 mach_port_t *node, mach_msg_type_name_t *node_type)
 {
-  error_t err = firmlink (dotdot, target, flags, node);
+  error_t err = firmlink (dotdot, target, node);
 
   if (err == ENOENT)
     /* No target?  Act like a link.  */
-- 
1.6.3.3

