Diff for /libaitrpc/src/builtin.c between versions 1.1.1.1.2.3 and 1.1.1.1.2.4

version 1.1.1.1.2.3, 2010/06/24 15:01:19 version 1.1.1.1.2.4, 2010/06/28 15:18:43
Line 32  rpcServerClients(rpc_func_t *call, int ic, rpc_val_t * Line 32  rpcServerClients(rpc_func_t *call, int ic, rpc_val_t *
         if (!(vals = rpc_srv_retValsCall(call, srv->srv_numcli)))          if (!(vals = rpc_srv_retValsCall(call, srv->srv_numcli)))
                 return -1;                  return -1;
   
        for (i = 0, cli = srv->srv_clients, v = vals; i < srv->srv_numcli; cli++) {        for (i = 0, cli = srv->srv_clients, v = vals; i < srv->srv_numcli; i++, cli++) {
                if (!cli->cli_sa.sa_family)                if (!cli->cli_sa.sa_family) {
                         RPC_SET_STR(v++, "");
                         continue;                          continue;
                   }
   
                 if (AF_INET == cli->cli_sa.sa_family) {                  if (AF_INET == cli->cli_sa.sa_family) {
                         s = (struct sockaddr_in*) &cli->cli_sa;                          s = (struct sockaddr_in*) &cli->cli_sa;
Line 43  rpcServerClients(rpc_func_t *call, int ic, rpc_val_t * Line 45  rpcServerClients(rpc_func_t *call, int ic, rpc_val_t *
                         s6 = (struct sockaddr_in6*) &cli->cli_sa;                          s6 = (struct sockaddr_in6*) &cli->cli_sa;
                         str = inet_ntop(cli->cli_sa.sa_family, &s6->sin6_addr, wrk, sizeof wrk);                          str = inet_ntop(cli->cli_sa.sa_family, &s6->sin6_addr, wrk, sizeof wrk);
                 }                  }
                if (str) {                if (str)
                         RPC_SET_STR(v++, (char*) str);                          RPC_SET_STR(v++, (char*) str);
                        i++;                else
                }                        RPC_SET_STR(v++, "0.0.0.0");
         }          }
   
         return 0;          return 0;
Line 167  rpcBLOBServerVars(rpc_func_t *call, int ic, rpc_val_t  Line 169  rpcBLOBServerVars(rpc_func_t *call, int ic, rpc_val_t 
         return 0;          return 0;
 }  }
   
   int
   rpcBLOBServerState(rpc_func_t *call, int ic, rpc_val_t *iv)
   {
           rpc_srv_t *srv;
   
           RPC_CALLBACK_CHK_NUM_ARGS(call, ic);
           RPC_CALLBACK_CHECK_INPUT(call);
           if (!call->func_parent)
                   return -1;
           else
                   srv = call->func_parent;
   
           if (iv[0].val_type != i32)
                   return -1;
   
           srv->srv_blob.state = RPC_GET_I32(&iv[0]);
           return 0;
   }
   
   int
   rpcBLOBServerClients(rpc_func_t *call, int ic, rpc_val_t *iv)
   {
           rpc_srv_t *srv;
           rpc_val_t *v, *vals;
           rpc_cli_t *cli;
           register int i;
           const char *str;
           char wrk[INET6_ADDRSTRLEN];
           struct sockaddr_in *s;
           struct sockaddr_in6 *s6;
   
           RPC_CALLBACK_CHECK_INPUT(call);
           if (!call->func_parent)
                   return -1;
           else
                   srv = call->func_parent;
   
           if (!(vals = rpc_srv_retValsCall(call, srv->srv_numcli)))
                   return -1;
   
           for (i = 0, cli = srv->srv_blob.clients, v = vals; i < srv->srv_numcli; i++, cli++) {
                   if (!cli->cli_sa.sa_family) {
                           RPC_SET_STR(v++, "");
                           continue;
                   }
   
                   if (AF_INET == cli->cli_sa.sa_family) {
                           s = (struct sockaddr_in*) &cli->cli_sa;
                           str = inet_ntop(cli->cli_sa.sa_family, &s->sin_addr, wrk, sizeof wrk);
                   } else {
                           s6 = (struct sockaddr_in6*) &cli->cli_sa;
                           str = inet_ntop(cli->cli_sa.sa_family, &s6->sin6_addr, wrk, sizeof wrk);
                   }
                   if (str)
                           RPC_SET_STR(v++, (char*) str);
                   else
                           RPC_SET_STR(v++, "0.0.0.0");
           }
   
           return 0;
   }

Removed from v.1.1.1.1.2.3  
changed lines
  Added in v.1.1.1.1.2.4


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>