* include/libc-symbols.h: Define hidden attribute macros for libnsl.
* include/rpcsvc/nislib.h: Use libnsl_hidden_proto for various
functions.
* nis/nis_add.c: Add libnsl_hidden_def. Minor optimizations.
* nis/nis_call.c: Likewise.
* nis/nis_clone_obj.c: Likewise.
* nis/nis_defaults.c: Likewise.
* nis/nis_domain_of_r.c: Likewise.
* nis/nis_error.c: Likewise.
* nis/nis_file.c: Likewise.
* nis/nis_free.c: Likewise.
* nis/nis_local_names.c: Likewise.
* nis/nis_lookup.c: Likewise.
* nis/nis_modify.c: Likewise.
* nis/nis_print.c: Likewise.
* nis/nis_remove.c: Likewise.
* nis/nis_subr.c: Likewise.
* nis/nis_table.c: Likewise.
* nis/nis_util.c: Likewise.
* nis/yp_xdr.c: Likewise.
* nis/ypclnt.c: Likewise.
* nis/ypupdate_xdr.c: Likewise.
2004-10-24 Ulrich Drepper <drepper@redhat.com>
+ * include/libc-symbols.h: Define hidden attribute macros for libnsl.
+ * include/rpcsvc/nislib.h: Use libnsl_hidden_proto for various
+ functions.
+ * nis/nis_add.c: Add libnsl_hidden_def. Minor optimizations.
+ * nis/nis_call.c: Likewise.
+ * nis/nis_clone_obj.c: Likewise.
+ * nis/nis_defaults.c: Likewise.
+ * nis/nis_domain_of_r.c: Likewise.
+ * nis/nis_error.c: Likewise.
+ * nis/nis_file.c: Likewise.
+ * nis/nis_free.c: Likewise.
+ * nis/nis_local_names.c: Likewise.
+ * nis/nis_lookup.c: Likewise.
+ * nis/nis_modify.c: Likewise.
+ * nis/nis_print.c: Likewise.
+ * nis/nis_remove.c: Likewise.
+ * nis/nis_subr.c: Likewise.
+ * nis/nis_table.c: Likewise.
+ * nis/nis_util.c: Likewise.
+ * nis/yp_xdr.c: Likewise.
+ * nis/ypclnt.c: Likewise.
+ * nis/ypupdate_xdr.c: Likewise.
+
* resolv/res_send.c (send_dg): Cope with failures.
* include/libc-symbols.h: Define hidden attribute macros for
+#ifndef __RPCSVC_NISLIB_H__
#include <nis/rpcsvc/nislib.h>
+
+libnsl_hidden_proto (nis_leaf_of_r)
+libnsl_hidden_proto (nis_name_of_r)
+libnsl_hidden_proto (nis_getnames)
+libnsl_hidden_proto (nis_freenames)
+libnsl_hidden_proto (nis_dir_cmp)
+libnsl_hidden_proto (nis_destroy_object)
+libnsl_hidden_proto (nis_local_directory)
+libnsl_hidden_proto (nis_local_group)
+libnsl_hidden_proto (nis_local_host)
+libnsl_hidden_proto (nis_local_principal)
+libnsl_hidden_proto (__free_fdresult)
+libnsl_hidden_proto (nis_free_request)
+libnsl_hidden_proto (nis_free_directory)
+libnsl_hidden_proto (nis_free_object)
+libnsl_hidden_proto (nis_freeresult)
+libnsl_hidden_proto (readColdStartFile)
+libnsl_hidden_proto (nis_print_rights)
+libnsl_hidden_proto (nis_print_directory)
+libnsl_hidden_proto (nis_print_group)
+libnsl_hidden_proto (nis_print_table)
+libnsl_hidden_proto (nis_print_link)
+libnsl_hidden_proto (nis_print_entry)
+libnsl_hidden_proto (nis_print_object)
+libnsl_hidden_proto (nis_sperrno)
+libnsl_hidden_proto (nis_sperror_r)
+libnsl_hidden_proto (__nisbind_destroy)
+libnsl_hidden_proto (__nisbind_next)
+libnsl_hidden_proto (__nisbind_connect)
+libnsl_hidden_proto (__nisbind_create)
+libnsl_hidden_proto (nis_lookup)
+libnsl_hidden_proto (nis_list)
+libnsl_hidden_proto (__nis_finddirectory)
+libnsl_hidden_proto (nis_domain_of_r)
+libnsl_hidden_proto (nis_modify)
+libnsl_hidden_proto (nis_remove)
+libnsl_hidden_proto (nis_add)
+libnsl_hidden_proto (__nis_default_owner)
+libnsl_hidden_proto (__nis_default_group)
+libnsl_hidden_proto (__nis_default_access)
+libnsl_hidden_proto (nis_clone_object)
+
+#endif
-/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@uni-paderborn.de>, 1997.
return res;
}
+libnsl_hidden_def (nis_add)
-/* Copyright (C) 1997, 1998, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2001, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
clnt_destroy (bind->clnt);
}
}
+libnsl_hidden_def (__nisbind_destroy)
nis_error
__nisbind_next (dir_binding *bind)
return NIS_FAIL;
}
+libnsl_hidden_def (__nisbind_next)
nis_error
__nisbind_connect (dir_binding *dbp)
return NIS_SUCCESS;
}
+libnsl_hidden_def (__nisbind_connect)
nis_error
__nisbind_create (dir_binding *dbp, const nis_server *serv_val,
return NIS_SUCCESS;
}
+libnsl_hidden_def (__nisbind_create)
/* __nisbind_connect (dbp) must be run before calling this function !
So we could use the same binding twice */
-/* Copyright (c) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (c) 1997, 1998, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
unsigned char *addr;
unsigned long size;
XDR xdrs;
- nis_object *res;
+ nis_object *res = NULL;
if (src == NULL)
return (NULL);
- size = xdr_sizeof ((xdrproc_t)_xdr_nis_object, (char *)src);
- if ((addr = calloc(1, size)) == NULL)
+ size = xdr_sizeof ((xdrproc_t)_xdr_nis_object, (char *) src);
+ if ((addr = calloc (1, size)) == NULL)
return NULL;
if (dest == NULL)
{
if ((res = calloc (1, sizeof (nis_object))) == NULL)
- {
- free (addr);
- return NULL;
- }
+ goto out2;
}
else
res = dest;
- xdrmem_create(&xdrs, addr, size, XDR_ENCODE);
+ xdrmem_create (&xdrs, addr, size, XDR_ENCODE);
if (!_xdr_nis_object (&xdrs, (nis_object *)src))
- {
- xdr_destroy (&xdrs);
- free (addr);
- return NULL;
- }
+ goto out3;
xdr_destroy (&xdrs);
- xdrmem_create(&xdrs, addr, size, XDR_DECODE);
- if (!_xdr_nis_object(&xdrs, res))
+ xdrmem_create (&xdrs, addr, size, XDR_DECODE);
+ if (!_xdr_nis_object (&xdrs, res))
{
- xdr_destroy (&xdrs);
- free (addr);
- return NULL;
+ out3:
+ if (dest == NULL)
+ free (res);
+ res = NULL;
}
+
+ out:
xdr_destroy (&xdrs);
+ out2:
free (addr);
return res;
}
+libnsl_hidden_def (nis_clone_object)
-/* Copyright (c) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (c) 1997, 1998, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
return strdup (default_owner);
}
+libnsl_hidden_def (__nis_default_owner)
nis_name
__nis_default_group (char *defaults)
return strdup (default_group);
}
+libnsl_hidden_def (__nis_default_group)
uint32_t
__nis_default_ttl (char *defaults)
return result;
}
+libnsl_hidden_def (__nis_default_access)
-/* Copyright (c) 1997 Free Software Foundation, Inc.
+/* Copyright (c) 1997, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
if (buffer == NULL)
{
- errno = ERANGE;
+ __set_errno (ERANGE);
return NULL;
}
cptr_len = strlen (cptr);
if (cptr_len == 0)
- strcpy (buffer, ".");
- else if (cptr_len >= buflen)
+ return strcpy (buffer, ".");
+
+ if (__builtin_expect (cptr_len >= buflen, 0))
{
- errno = ERANGE;
+ __set_errno (ERANGE);
return NULL;
}
- else
- memcpy (buffer, cptr, cptr_len + 1);
- return buffer;
+ return memcpy (buffer, cptr, cptr_len + 1);
}
+libnsl_hidden_proto (nis_domain_of_r)
-/* Copyright (c) 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (c) 1997, 1998, 1999, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
else
return gettext (nis_errlist[status]);
}
+libnsl_hidden_def (nis_sperrno)
void
nis_perror (const nis_error status, const char *label)
return buffer;
}
+libnsl_hidden_def (nis_sperror_r)
char *
nis_sperror (const nis_error status, const char *label)
-/* Copyright (c) 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (c) 1997, 1998, 1999, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
directory_obj *
readColdStartFile (void)
{
- XDR xdrs;
- FILE *in;
- bool_t status = TRUE;
- directory_obj *obj;
-
- in = fopen (cold_start_file, "rb");
+ FILE *in = fopen (cold_start_file, "rc");
if (in == NULL)
return NULL;
- obj = calloc (1, sizeof (directory_obj));
+ directory_obj *obj = calloc (1, sizeof (directory_obj));
if (obj != NULL)
{
+ XDR xdrs;
xdrstdio_create (&xdrs, in, XDR_DECODE);
- status = _xdr_directory_obj (&xdrs, obj);
+ bool_t status = _xdr_directory_obj (&xdrs, obj);
xdr_destroy (&xdrs);
if (!status)
return obj;
}
+libnsl_hidden_def (readColdStartFile)
bool_t
writeColdStartFile (const directory_obj *obj)
-/* Copyright (c) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (c) 1997, 1998, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
free (res);
}
}
+libnsl_hidden_def (__free_fdresult)
void
nis_free_request (ib_request *ibreq)
free (ibreq);
}
}
+libnsl_hidden_def (nis_free_request)
void
nis_free_directory (directory_obj *obj)
free (obj);
}
}
+libnsl_hidden_def (nis_free_directory)
void
nis_free_object (nis_object *obj)
free (obj);
}
}
+libnsl_hidden_def (nis_free_object)
void
nis_freeresult (nis_result *res)
free (res);
}
}
+libnsl_hidden_def (nis_freeresult)
-/* Copyright (c) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (c) 1997, 1998, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
{
static char __nisgroup[NIS_MAXNAMELEN + 1];
- if (__nisgroup[0] == '\0')
+ char *cptr;
+ if (__nisgroup[0] == '\0'
+ && (cptr = getenv ("NIS_GROUP")) != NULL
+ && strlen (cptr) < NIS_MAXNAMELEN)
{
- char *cptr;
- char *cp;
-
- if ((cptr = getenv ("NIS_GROUP")) == NULL)
- return __nisgroup;
-
- if (strlen (cptr) >= NIS_MAXNAMELEN)
- return __nisgroup;
-
- cp = stpcpy (__nisgroup, cptr);
+ char *cp = stpcpy (__nisgroup, cptr);
if (cp[-1] != '.')
{
return __nisgroup;
}
-
+libnsl_hidden_def (nis_local_group)
nis_name
nis_local_directory (void)
return __nisdomainname;
}
+libnsl_hidden_def (nis_local_directory)
nis_name
nis_local_principal (void)
uid, nis_local_directory ());
if (len >= NIS_MAXNAMELEN - 1)
+ nobody:
/* XXX The buffer is too small. Can this happen??? */
return strcpy (__principal, "nobody");
FOLLOW_PATH, NULL, NULL);
if (res == NULL)
- return strcpy (__principal, "nobody");
+ goto nobody;
if (NIS_RES_STATUS (res) == NIS_SUCCESS)
{
else
{
nis_freeresult (res);
- return strcpy (__principal, "nobody");
+ goto nobody;
}
}
else
return strcpy (__principal, nis_local_host ());
/* Should be never reached */
- return strcpy (__principal, "nobody");
+ goto nobody;
}
return __principal;
}
+libnsl_hidden_def (nis_local_principal)
nis_name
nis_local_host (void)
return __nishostname;
}
+libnsl_hidden_def (nis_local_host)
-/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@uni-paderborn.de>, 1997.
return res;
}
+libnsl_hidden_def (nis_lookup)
-/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@uni-paderborn.de>, 1997.
if (res == NULL)
return NULL;
- req.ns_name = (char *)name;
+ req.ns_name = (char *) name;
memcpy (&obj, obj2, sizeof (nis_object));
return res;
}
+libnsl_hidden_def (nis_modify)
-/* Copyright (c) 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (c) 1997, 1998, 1999, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
}
else
{
- fputs("TEXTUAL DATA", stdout);
+ fputs ("TEXTUAL DATA", stdout);
if (flags & TA_SEARCHABLE)
{
if (flags & TA_CASE)
}
fputs (result, stdout);
}
+libnsl_hidden_def (nis_print_rights)
void
nis_print_directory (const directory_obj *dir)
}
}
}
+libnsl_hidden_def (nis_print_directory)
void
nis_print_group (const group_obj *obj)
for (i = 0; i < obj->gr_members.gr_members_len; i++)
printf ("\t%s\n", obj->gr_members.gr_members_val[i]);
}
+libnsl_hidden_def (nis_print_group)
void
nis_print_table (const table_obj *obj)
fputc ('\n', stdout);
}
}
+libnsl_hidden_def (nis_print_table)
void
nis_print_link (const link_obj *obj)
printf (_("Linked to : %s\n"), obj->li_name);
/* XXX Print the attributs here, if they exists */
}
+libnsl_hidden_def (nis_print_link)
void
nis_print_entry (const entry_obj *obj)
obj->en_cols.en_cols_val[i].ec_value.ec_value_val);
}
}
+libnsl_hidden_def (nis_print_entry)
void
nis_print_object (const nis_object * obj)
break;
}
}
+libnsl_hidden_def (nis_print_object)
void
nis_print_result (const nis_result *res)
-/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@uni-paderborn.de>, 1997.
return res;
}
+libnsl_hidden_def (nis_remove)
if (i > buflen - 1)
{
- errno = ERANGE;
+ __set_errno (ERANGE);
return NULL;
}
{
if ((size_t)i >= buflen)
{
- errno = ERANGE;
+ __set_errno (ERANGE);
return NULL;
}
return buffer;
}
+libnsl_hidden_def (nis_leaf_of_r)
nis_name
nis_name_of (const_nis_name name)
if ((size_t) diff >= buflen)
{
- errno = ERANGE;
+ __set_errno (ERANGE);
return NULL;
}
return buffer;
}
+libnsl_hidden_def (nis_name_of_r)
static int
count_dots (const_nis_name str)
{
int count = 0;
- size_t i;
+ size_t l = strlen (str);
- for (i = 0; i < strlen (str); ++i)
+ for (size_t i = 0; i < l; ++i)
if (str[i] == '.')
++count;
return getnames;
}
+libnsl_hidden_def (nis_getnames)
void
nis_freenames (nis_name *names)
free (names);
}
+libnsl_hidden_def (nis_freenames)
name_pos
nis_dir_cmp (const_nis_name n1, const_nis_name n2)
}
}
+libnsl_hidden_def (nis_dir_cmp)
void
nis_destroy_object (nis_object *obj)
{
nis_free_object (obj);
}
+libnsl_hidden_def (nis_destroy_object)
return res;
}
+libnsl_hidden_def (nis_list)
nis_result *
nis_add_entry (const_nis_name name, const nis_object *obj2, unsigned int flags)
return fd_res;
}
-
+libnsl_hidden_def (__nis_finddirectory)
/* The hash implementation is in a separate file. */
#include "nis_hash.c"
bool_t
xdr_ypstat (XDR *xdrs, ypstat *objp)
{
- if (!xdr_enum (xdrs, (enum_t *) objp))
- return FALSE;
- return TRUE;
+ return xdr_enum (xdrs, (enum_t *) objp);
}
+libnsl_hidden_def (xdr_ypstat)
bool_t
xdr_ypxfrstat (XDR *xdrs, ypxfrstat *objp)
{
- if (!xdr_enum (xdrs, (enum_t *) objp))
- return FALSE;
- return TRUE;
+ return xdr_enum (xdrs, (enum_t *) objp);
}
+libnsl_hidden_def (xdr_ypxfrstat)
bool_t
xdr_domainname (XDR *xdrs, domainname *objp)
{
- if (!xdr_string (xdrs, objp, ~0))
- return FALSE;
- return TRUE;
+ return xdr_string (xdrs, objp, ~0);
}
+libnsl_hidden_def (xdr_domainname)
bool_t
xdr_mapname (XDR *xdrs, mapname *objp)
{
- if (!xdr_string (xdrs, objp, ~0))
- return FALSE;
- return TRUE;
+ return xdr_string (xdrs, objp, ~0);
}
+libnsl_hidden_def (xdr_mapname)
bool_t
xdr_peername (XDR *xdrs, peername *objp)
{
- if (!xdr_string (xdrs, objp, ~0))
- return FALSE;
- return TRUE;
+ return xdr_string (xdrs, objp, ~0);
}
+libnsl_hidden_def (xdr_peername)
bool_t
xdr_keydat (XDR *xdrs, keydat *objp)
{
- if (!xdr_bytes (xdrs, (char **) &objp->keydat_val,
- (u_int *) &objp->keydat_len, ~0))
- return FALSE;
- return TRUE;
+ return xdr_bytes (xdrs, (char **) &objp->keydat_val,
+ (u_int *) &objp->keydat_len, ~0);
}
+libnsl_hidden_def (xdr_keydat)
bool_t
xdr_valdat (XDR *xdrs, valdat *objp)
{
- if (!xdr_bytes (xdrs, (char **) &objp->valdat_val,
- (u_int *) &objp->valdat_len, ~0))
- return FALSE;
- return TRUE;
+ return xdr_bytes (xdrs, (char **) &objp->valdat_val,
+ (u_int *) &objp->valdat_len, ~0);
}
+libnsl_hidden_def (xdr_valdat)
bool_t
xdr_ypmap_parms (XDR *xdrs, ypmap_parms *objp)
return FALSE;
if (!xdr_u_int (xdrs, &objp->ordernum))
return FALSE;
- if (!xdr_peername (xdrs, &objp->peer))
- return FALSE;
- return TRUE;
+ return xdr_peername (xdrs, &objp->peer);
}
+libnsl_hidden_def (xdr_ypmap_parms)
bool_t
xdr_ypreq_key (XDR *xdrs, ypreq_key *objp)
return FALSE;
if (!xdr_mapname (xdrs, &objp->map))
return FALSE;
- if (!xdr_keydat (xdrs, &objp->key))
- return FALSE;
- return TRUE;
+ return xdr_keydat (xdrs, &objp->key);
}
bool_t
{
if (!xdr_domainname (xdrs, &objp->domain))
return FALSE;
- if (!xdr_mapname (xdrs, &objp->map))
- return FALSE;
- return TRUE;
+ return xdr_mapname (xdrs, &objp->map);
}
bool_t
return FALSE;
if (!xdr_u_int (xdrs, &objp->prog))
return FALSE;
- if (!xdr_u_int (xdrs, &objp->port))
- return FALSE;
- return TRUE;
+ return xdr_u_int (xdrs, &objp->port);
}
bool_t
{
if (!xdr_ypstat (xdrs, &objp->stat))
return FALSE;
- if (!xdr_valdat (xdrs, &objp->val))
- return FALSE;
- return TRUE;
+ return xdr_valdat (xdrs, &objp->val);
}
bool_t
return FALSE;
if (!xdr_valdat (xdrs, &objp->val))
return FALSE;
- if (!xdr_keydat (xdrs, &objp->key))
- return FALSE;
- return TRUE;
+ return xdr_keydat (xdrs, &objp->key);
}
+libnsl_hidden_def (xdr_ypresp_key_val)
bool_t
xdr_ypresp_master (XDR *xdrs, ypresp_master *objp)
{
if (!xdr_ypstat (xdrs, &objp->stat))
return FALSE;
- if (!xdr_peername (xdrs, &objp->peer))
- return FALSE;
- return TRUE;
+ return xdr_peername (xdrs, &objp->peer);
}
bool_t
{
if (!xdr_ypstat (xdrs, &objp->stat))
return FALSE;
- if (!xdr_u_int (xdrs, &objp->ordernum))
- return FALSE;
- return TRUE;
+ return xdr_u_int (xdrs, &objp->ordernum);
}
bool_t
switch (objp->more)
{
case TRUE:
- if (!xdr_ypresp_key_val (xdrs, &objp->ypresp_all_u.val))
- return FALSE;
- break;
+ return xdr_ypresp_key_val (xdrs, &objp->ypresp_all_u.val);
case FALSE:
break;
default:
}
return TRUE;
}
+libnsl_hidden_def (xdr_ypresp_all)
bool_t
xdr_ypresp_xfr (XDR *xdrs, ypresp_xfr *objp)
{
if (!xdr_u_int (xdrs, &objp->transid))
return FALSE;
- if (!xdr_ypxfrstat (xdrs, &objp->xfrstat))
- return FALSE;
- return TRUE;
+ return xdr_ypxfrstat (xdrs, &objp->xfrstat);
}
bool_t
{
if (!xdr_mapname (xdrs, &objp->map))
return FALSE;
- if (!xdr_pointer (xdrs, (char **) &objp->next, sizeof (ypmaplist),
- (xdrproc_t) xdr_ypmaplist))
- return FALSE;
- return TRUE;
+ return xdr_pointer (xdrs, (char **) &objp->next, sizeof (ypmaplist),
+ (xdrproc_t) xdr_ypmaplist);
}
bool_t
{
if (!xdr_ypstat (xdrs, &objp->stat))
return FALSE;
- if (!xdr_pointer (xdrs, (char **) &objp->maps, sizeof (ypmaplist),
- (xdrproc_t) xdr_ypmaplist))
- return FALSE;
- return TRUE;
+ return xdr_pointer (xdrs, (char **) &objp->maps, sizeof (ypmaplist),
+ (xdrproc_t) xdr_ypmaplist);
}
bool_t
xdr_yppush_status (XDR *xdrs, yppush_status *objp)
{
- if (!xdr_enum (xdrs, (enum_t *) objp))
- return FALSE;
- return TRUE;
+ return xdr_enum (xdrs, (enum_t *) objp);
}
+libnsl_hidden_def (xdr_yppush_status)
bool_t
xdr_yppushresp_xfr (XDR *xdrs, yppushresp_xfr *objp)
{
if (!xdr_u_int (xdrs, &objp->transid))
return FALSE;
- if (!xdr_yppush_status (xdrs, &objp->status))
- return FALSE;
- return TRUE;
+ return xdr_yppush_status (xdrs, &objp->status);
}
bool_t
xdr_ypbind_resptype (XDR *xdrs, ypbind_resptype *objp)
{
- if (!xdr_enum (xdrs, (enum_t *) objp))
- return FALSE;
- return TRUE;
+ return xdr_enum (xdrs, (enum_t *) objp);
}
+libnsl_hidden_def (xdr_ypbind_resptype)
bool_t
xdr_ypbind_binding (XDR *xdrs, ypbind_binding *objp)
{
if (!xdr_opaque (xdrs, objp->ypbind_binding_addr, 4))
return FALSE;
- if (!xdr_opaque (xdrs, objp->ypbind_binding_port, 2))
- return FALSE;
- return TRUE;
+ return xdr_opaque (xdrs, objp->ypbind_binding_port, 2);
}
+libnsl_hidden_def (xdr_ypbind_binding)
bool_t
xdr_ypbind_resp (XDR *xdrs, ypbind_resp *objp)
switch (objp->ypbind_status)
{
case YPBIND_FAIL_VAL:
- if (!xdr_u_int (xdrs, &objp->ypbind_resp_u.ypbind_error))
- return FALSE;
- break;
+ return xdr_u_int (xdrs, &objp->ypbind_resp_u.ypbind_error);
case YPBIND_SUCC_VAL:
- if (!xdr_ypbind_binding (xdrs, &objp->ypbind_resp_u.ypbind_bindinfo))
- return FALSE;
- break;
- default:
- return FALSE;
+ return xdr_ypbind_binding (xdrs, &objp->ypbind_resp_u.ypbind_bindinfo);
}
- return TRUE;
+ return FALSE;
}
bool_t
return FALSE;
if (!xdr_ypbind_binding (xdrs, &objp->ypsetdom_binding))
return FALSE;
- if (!xdr_u_int (xdrs, &objp->ypsetdom_vers))
- return FALSE;
- return TRUE;
+ return xdr_u_int (xdrs, &objp->ypsetdom_vers);
}
bool_t
return status;
}
+libnsl_hidden_def (yp_bind)
static void
yp_unbind_locked (const char *indomain)
return result;
}
+libnsl_hidden_def (yp_get_default_domain)
int
__yp_check (char **domain)
return *outname == NULL ? YPERR_YPERR : YPERR_SUCCESS;
}
+libnsl_hidden_def (yp_master)
int
yp_order (const char *indomain, const char *inmap, unsigned int *outorder)
return _("Unknown NIS error code");
}
+static const int8_t yp_2_yperr[] =
+ {
+#define YP2YPERR(yp, yperr) [YP_##yp - YP_VERS] = YPERR_##yperr
+ YP2YPERR (TRUE, SUCCESS),
+ YP2YPERR (NOMORE, NOMORE),
+ YP2YPERR (FALSE, YPERR),
+ YP2YPERR (NOMAP, MAP),
+ YP2YPERR (NODOM, DOMAIN),
+ YP2YPERR (NOKEY, KEY),
+ YP2YPERR (BADOP, YPERR),
+ YP2YPERR (BADDB, BADDB),
+ YP2YPERR (YPERR, YPERR),
+ YP2YPERR (BADARGS, BADARGS),
+ YP2YPERR (VERS, VERS)
+ };
int
ypprot_err (const int code)
{
- switch (code)
- {
- case YP_TRUE:
- return YPERR_SUCCESS;
- case YP_NOMORE:
- return YPERR_NOMORE;
- case YP_FALSE:
- return YPERR_YPERR;
- case YP_NOMAP:
- return YPERR_MAP;
- case YP_NODOM:
- return YPERR_DOMAIN;
- case YP_NOKEY:
- return YPERR_KEY;
- case YP_BADOP:
- return YPERR_YPERR;
- case YP_BADDB:
- return YPERR_BADDB;
- case YP_YPERR:
- return YPERR_YPERR;
- case YP_BADARGS:
- return YPERR_BADARGS;
- case YP_VERS:
- return YPERR_VERS;
- }
- return YPERR_YPERR;
+ if (code < YP_VERS || code > YP_NOKEY)
+ return YPERR_YPERR;
+ return yp_2_yperr[code];
}
+libnsl_hidden_def (ypprot_err)
const char *
ypbinderr_string (const int error)
return _("Unknown ypbind error");
}
}
-
+libnsl_hidden_def (ypbinderr_string)
#define WINDOW 60
bool_t
xdr_yp_buf (XDR *xdrs, yp_buf *objp)
{
- if (!xdr_bytes (xdrs, (char **) &objp->yp_buf_val,
- (u_int *) &objp->yp_buf_len, ~0))
- return FALSE;
- return TRUE;
+ return xdr_bytes (xdrs, (char **) &objp->yp_buf_val,
+ (u_int *) &objp->yp_buf_len, ~0);
}
+libnsl_hidden_def (xdr_yp_buf)
bool_t
xdr_ypupdate_args (XDR *xdrs, ypupdate_args *objp)
return FALSE;
if (!xdr_yp_buf (xdrs, &objp->key))
return FALSE;
- if (!xdr_yp_buf (xdrs, &objp->datum))
- return FALSE;
- return TRUE;
+ return xdr_yp_buf (xdrs, &objp->datum);
}
bool_t
{
if (!xdr_string (xdrs, &objp->mapname, ~0))
return FALSE;
- if (!xdr_yp_buf (xdrs, &objp->key))
- return FALSE;
- return TRUE;
+ return xdr_yp_buf (xdrs, &objp->key);
}