A copy-and-paste error resulted in the wrong RPC result type being
used in fedfs-get-limited-nsdb-params.  This goes back to commit
0520ee72 "Initial commit" Mar 29 15:37:40 2011.

The rpcgen-created data types are so unwieldy that typically they
are always type-cast.  Thus the compiler cannot check whether the
correct type is used, and problems like this are missed.

Signed-off-by: Chuck Lever <[email protected]>
---
 src/fedfsc/fedfs-get-limited-nsdb-params.c |   10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/fedfsc/fedfs-get-limited-nsdb-params.c 
b/src/fedfsc/fedfs-get-limited-nsdb-params.c
index 59c3035..3d10aa0 100644
--- a/src/fedfsc/fedfs-get-limited-nsdb-params.c
+++ b/src/fedfsc/fedfs-get-limited-nsdb-params.c
@@ -97,10 +97,8 @@ fedfs_get_limited_nsdb_params_usage(const char *progname)
  * @param result NSDB information to display
  */
 static void
-fedfs_get_limited_nsdb_params_print_result(FedFsGetNsdbParamsRes result)
+fedfs_get_limited_nsdb_params_print_result(FedFsGetLimitedNsdbParamsRes result)
 {
-       FedFsNsdbParams *params = &result.FedFsGetNsdbParamsRes_u.params;
-
        if (result.status == FEDFS_ERR_NSDB_PARAMS) {
                printf("No connection parameters found\n");
                return;
@@ -110,7 +108,7 @@ 
fedfs_get_limited_nsdb_params_print_result(FedFsGetNsdbParamsRes result)
        if (result.status != FEDFS_OK)
                return;
 
-       switch (params->secType) {
+       switch (result.FedFsGetLimitedNsdbParamsRes_u.secType) {
        case FEDFS_SEC_NONE:
                printf("ConnectionSec: FEDFS_SEC_NONE\n");
                break;
@@ -119,7 +117,7 @@ 
fedfs_get_limited_nsdb_params_print_result(FedFsGetNsdbParamsRes result)
                break;
        default:
                printf("Unrecognized FedFsConnectionSec value: %u\n",
-                               params->secType);
+                       result.FedFsGetLimitedNsdbParamsRes_u.secType);
        }
 }
 
@@ -136,7 +134,7 @@ static FedFsStatus
 fedfs_get_limited_nsdb_params_call(const char *hostname, const char *nettype,
                char *nsdbname, const unsigned short nsdbport)
 {
-       FedFsGetNsdbParamsRes result;
+       FedFsGetLimitedNsdbParamsRes result;
        enum clnt_stat status;
        FedFsNsdbName arg;
        CLIENT *client;


_______________________________________________
fedfs-utils-devel mailing list
[email protected]
https://oss.oracle.com/mailman/listinfo/fedfs-utils-devel

Reply via email to