diff options
Diffstat (limited to 'nis')
-rw-r--r-- | nis/nis_call.c | 3 | ||||
-rw-r--r-- | nis/nis_mkdir.c | 24 | ||||
-rw-r--r-- | nis/nis_rmdir.c | 22 | ||||
-rw-r--r-- | nis/rpcsvc/yp_prot.h | 20 |
4 files changed, 30 insertions, 39 deletions
diff --git a/nis/nis_call.c b/nis/nis_call.c index fd777f5948..06f63ee52e 100644 --- a/nis/nis_call.c +++ b/nis/nis_call.c @@ -289,7 +289,7 @@ __do_niscall2 (const nis_server *server, u_int server_len, u_long prog, server_len = 1; if ((dbp = __bind_create (server, server_len, flags)) == NULL) - return NIS_UNAVAIL; + return NIS_NAMEUNREACHABLE; while (__bind_connect (dbp) != NIS_SUCCESS) { if (__bind_next (dbp) != NIS_SUCCESS) @@ -351,6 +351,7 @@ __do_niscall2 (const nis_server *server, u_int server_len, u_long prog, break; /* No more servers to search in */ goto again; } + break; case NIS_FINDDIRECTORY: if ((((fd_result *)resp)->status == NIS_NOTFOUND) || (((fd_result *)resp)->status == NIS_NOSUCHNAME) || diff --git a/nis/nis_mkdir.c b/nis/nis_mkdir.c index b762e93f27..ab693d7da1 100644 --- a/nis/nis_mkdir.c +++ b/nis/nis_mkdir.c @@ -24,23 +24,19 @@ nis_error nis_mkdir (const_nis_name dir, const nis_server *server) { - nis_error res; + nis_error res, res2; if (server == NULL) - { - if (__do_niscall (dir, NIS_MKDIR, (xdrproc_t) xdr_nis_name, - (caddr_t) &dir, (xdrproc_t) xdr_nis_error, - (caddr_t) &res, 0, NULL) != RPC_SUCCESS) - return NIS_RPCERROR; - } - else - { - if (__do_niscall2 (server, 1, NIS_MKDIR, - (xdrproc_t) xdr_nis_name, + res2 = __do_niscall (dir, NIS_MKDIR, (xdrproc_t) xdr_nis_name, (caddr_t) &dir, (xdrproc_t) xdr_nis_error, - (caddr_t) &res, 0, NULL) != RPC_SUCCESS) - return NIS_RPCERROR; - } + (caddr_t) &res, 0, NULL); + else + res2 = __do_niscall2 (server, 1, NIS_MKDIR, + (xdrproc_t) xdr_nis_name, + (caddr_t) &dir, (xdrproc_t) xdr_nis_error, + (caddr_t) &res, 0, NULL); + if (res2 != NIS_SUCCESS) + return res2; return res; } diff --git a/nis/nis_rmdir.c b/nis/nis_rmdir.c index adf5924ada..ff84ed81e2 100644 --- a/nis/nis_rmdir.c +++ b/nis/nis_rmdir.c @@ -24,23 +24,17 @@ nis_error nis_rmdir (const_nis_name dir, const nis_server *server) { - nis_error res; + nis_error res, res2; if (server == NULL) - { - if (__do_niscall (dir, NIS_RMDIR, (xdrproc_t) xdr_nis_name, + return NIS_SYSTEMERROR; + + res2 = __do_niscall2 (server, 1, NIS_RMDIR, + (xdrproc_t) xdr_nis_name, (caddr_t) &dir, (xdrproc_t) xdr_nis_error, - (caddr_t) &res, 0, NULL) != RPC_SUCCESS) - return NIS_RPCERROR; - } - else - { - if (__do_niscall2 (server, 1, NIS_RMDIR, - (xdrproc_t) xdr_nis_name, - (caddr_t) &dir, (xdrproc_t) xdr_nis_error, - (caddr_t) &res, 0, NULL) != RPC_SUCCESS) - return NIS_RPCERROR; - } + (caddr_t) &res, 0, NULL); + if (res2 != NIS_SUCCESS) + return res2; return res; } diff --git a/nis/rpcsvc/yp_prot.h b/nis/rpcsvc/yp_prot.h index 42bc54c59d..82f93b49ed 100644 --- a/nis/rpcsvc/yp_prot.h +++ b/nis/rpcsvc/yp_prot.h @@ -12,6 +12,8 @@ #include <rpc/rpc.h> #include <rpcsvc/ypclnt.h> +__BEGIN_DECLS + /* * The following procedures are supported by the protocol: * @@ -72,12 +74,12 @@ typedef struct { u_int keydat_len; char *keydat_val; -} keydat; +} keydat_t; typedef struct { u_int valdat_len; char *valdat_val; -} valdat; +} valdat_t; struct ypmap_parms { char *domain; /* Null string means not available */ @@ -93,7 +95,7 @@ struct ypmap_parms { struct ypreq_key { const char *domain; const char *map; - keydat keydat; + keydat_t keydat; }; struct ypreq_nokey { @@ -149,7 +151,7 @@ typedef enum ypstat ypstat; struct ypresp_val { ypstat status; - valdat valdat; + valdat_t valdat; }; struct ypresp_key_val { @@ -160,11 +162,11 @@ struct ypresp_key_val { implementation somehow must change the order internally. We don't want to follow this bad example since the user should be able to use rpcgen on this file. */ - keydat keydat; - valdat valdat; + keydat_t keydat; + valdat_t valdat; #else - valdat valdat; - keydat keydat; + valdat_t valdat; + keydat_t keydat; #endif }; @@ -340,8 +342,6 @@ struct ypresp_all { } ypresp_all_u; }; -__BEGIN_DECLS - extern bool_t xdr_ypreq_key __P ((XDR *__xdrs, struct ypreq_key * __objp)); extern bool_t xdr_ypreq_nokey __P ((XDR *__xdrs, struct ypreq_nokey * __objp)); extern bool_t xdr_ypreq_xfr __P ((XDR *__xdrs, struct ypreq_xfr * __objp)); |