aboutsummaryrefslogtreecommitdiff
path: root/libnetfs/fsys-get-options.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnetfs/fsys-get-options.c')
-rw-r--r--libnetfs/fsys-get-options.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/libnetfs/fsys-get-options.c b/libnetfs/fsys-get-options.c
index 35c21d3a..fa045eff 100644
--- a/libnetfs/fsys-get-options.c
+++ b/libnetfs/fsys-get-options.c
@@ -1,6 +1,6 @@
/* Unparse run-time options
- Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1998, 2001 Free Software Foundation, Inc.
This file is part of the GNU Hurd.
@@ -32,28 +32,36 @@
/* Implement fsys_get_options as described in <hurd/fsys.defs>. */
error_t
netfs_S_fsys_get_options (fsys_t fsys,
+ mach_port_t reply,
+ mach_msg_type_name_t reply_type,
char **data, mach_msg_type_number_t *data_len)
{
error_t err;
- char *argz;
- size_t argz_len;
+ char *argz = 0;
+ size_t argz_len = 0;
struct port_info *port =
ports_lookup_port (netfs_port_bucket, fsys, netfs_control_class);
if (!port)
return EOPNOTSUPP;
+ err = argz_add (&argz, &argz_len, program_invocation_name);
+ if (! err)
+ {
#if NOT_YET
- rwlock_reader_lock (&netfs_fsys_lock);
+ rwlock_reader_lock (&netfs_fsys_lock);
#endif
- err = netfs_get_options (&argz, &argz_len);
+ err = netfs_append_args (&argz, &argz_len);
#if NOT_YET
- rwlock_reader_unlock (&netfs_fsys_lock);
+ rwlock_reader_unlock (&netfs_fsys_lock);
#endif
+ }
if (! err)
/* Move ARGZ from a malloced buffer into a vm_alloced one. */
- err = fshelp_return_malloced_buffer (argz, argz_len, data, data_len);
+ err = iohelp_return_malloced_buffer (argz, argz_len, data, data_len);
+ else
+ free (argz);
ports_port_deref (port);