From 585b7abf4adb8c30bfc4398ae8d239a42b27d885 Mon Sep 17 00:00:00 2001
From: "Michael I. Bushnell" <mib@gnu.org>
Date: Tue, 18 Jul 1995 20:12:14 +0000
Subject: (diskfs_S_file_get_translator): Conform to new memory semantic of
 diskfs_get_translator.

---
 libdiskfs/file-get-trans.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

(limited to 'libdiskfs/file-get-trans.c')

diff --git a/libdiskfs/file-get-trans.c b/libdiskfs/file-get-trans.c
index 0447666f..c2680426 100644
--- a/libdiskfs/file-get-trans.c
+++ b/libdiskfs/file-get-trans.c
@@ -114,7 +114,20 @@ diskfs_S_file_get_translator (struct protid *cred,
       if (!np->istranslated)
 	error = EINVAL;
       else
-	error = diskfs_get_translator (np, trans, translen);
+	{
+	  char *string;
+	  u_int len;
+	  error = diskfs_get_translator (np, &string, &len);
+	  if (!error)
+	    {
+	      if (len > *translen)
+		vm_allocate (mach_task_self (), (vm_address_t *) trans, 
+			     len, 1);
+	      bcopy (string, *trans, len);
+	      *translen = len;
+	      free (string);
+	    }
+	}
     }
   
   mutex_unlock (&np->lock);
-- 
cgit v1.2.3