int
rsModDataObjMeta( rsComm_t *rsComm, modDataObjMeta_t *modDataObjMetaInp ) {
    int status;
    rodsServerHost_t *rodsServerHost = NULL;
    dataObjInfo_t *dataObjInfo;

    dataObjInfo = modDataObjMetaInp->dataObjInfo;

    status = getAndConnRcatHost( rsComm, MASTER_RCAT, dataObjInfo->objPath,
                                 &rodsServerHost );
    if ( status < 0 || NULL == rodsServerHost ) { // JMC cppcheck - nullptr
        return( status );
    }
    if ( rodsServerHost->localFlag == LOCAL_HOST ) {
#ifdef RODS_CAT
        status = _rsModDataObjMeta( rsComm, modDataObjMetaInp );
#else
        status = SYS_NO_RCAT_SERVER_ERR;
#endif
    }
    else {
        status = rcModDataObjMeta( rodsServerHost->conn, modDataObjMetaInp );
    }

    if ( status >= 0 ) {
        status = _call_file_modified_for_modification( rsComm, modDataObjMetaInp );
    }

    return ( status );
}
int
rsModDataObjMeta (rsComm_t *rsComm, modDataObjMeta_t *modDataObjMetaInp)
{
    int status;
    rodsServerHost_t *rodsServerHost = NULL;
    dataObjInfo_t *dataObjInfo;
    keyValPair_t *regParam;

    regParam = modDataObjMetaInp->regParam;
    dataObjInfo = modDataObjMetaInp->dataObjInfo;

    status = getAndConnRcatHost (rsComm, MASTER_RCAT, dataObjInfo->objPath,
      &rodsServerHost);
    if (status < 0) {
       return(status);
    }
    if (rodsServerHost->localFlag == LOCAL_HOST) {
#ifdef RODS_CAT
        status = _rsModDataObjMeta (rsComm, modDataObjMetaInp);
#else
        status = SYS_NO_RCAT_SERVER_ERR;
#endif
    } else {
        status = rcModDataObjMeta (rodsServerHost->conn, modDataObjMetaInp);
        if (getIrodsErrno (status) == SYS_HEADER_READ_LEN_ERR ||
          getIrodsErrno (status) == SYS_HEADER_WRITE_LEN_ERR) {
            /* this connection may be broken. try again */
            int status1 = svrToSvrReConnect (rsComm, rodsServerHost);
            if (status1 >= 0) {
                status = rcModDataObjMeta (rodsServerHost->conn, 
                  modDataObjMetaInp);
            }
        }

    }

    return (status);
}