From 4c337e2131123c339bc4921779b57b69b77be2fd Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Thu, 27 Sep 2007 06:53:53 -0400 Subject: rpc.mountd: make exportent->e_hostname a dynamically-allocated string This makes the e_hostname field of the exportent into a pointer to a dynamically allocated string. This is necessary since this is field is often filled out from the m_hostname. This too adds a few micro-optimizations as we can avoid copying the string in some places and simply pass a pointer to the original string instead. Signed-off-by: Jeff Layton Acked-by: Steve Dickson Signed-off-by: Neil Brown --- support/export/xtab.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'support/export/xtab.c') diff --git a/support/export/xtab.c b/support/export/xtab.c index 292087b..990113e 100644 --- a/support/export/xtab.c +++ b/support/export/xtab.c @@ -108,10 +108,7 @@ xtab_write(char *xtab, char *xtabtmp, int is_export) /* write out the export entry using the FQDN */ xe = exp->m_export; - strncpy(xe.e_hostname, - exp->m_client->m_hostname, - sizeof (xe.e_hostname) - 1); - xe.e_hostname[sizeof (xe.e_hostname) - 1] = '\0'; + xe.e_hostname = exp->m_client->m_hostname; putexportent(&xe); } } @@ -146,9 +143,7 @@ xtab_append(nfs_export *exp) return; setexportent(_PATH_XTAB, "a"); xe = exp->m_export; - strncpy(xe.e_hostname, exp->m_client->m_hostname, - sizeof (xe.e_hostname) - 1); - xe.e_hostname[sizeof (xe.e_hostname) - 1] = '\0'; + xe.e_hostname = exp->m_client->m_hostname; putexportent(&xe); endexportent(); xfunlock(lockid); -- cgit