Diff for /libaitrpc/src/cli.c between versions 1.1.1.1 and 1.1.1.1.2.3

version 1.1.1.1, 2010/06/18 01:48:06 version 1.1.1.1.2.3, 2010/06/23 07:50:01
Line 144  rpc_cli_execCall(rpc_cli_t *cli, const char *csModule, Line 144  rpc_cli_execCall(rpc_cli_t *cli, const char *csModule,
         int ret = 0, Limit = 0;          int ret = 0, Limit = 0;
         register int i;          register int i;
         rpc_val_t *v;          rpc_val_t *v;
        struct timeval tv = { DEF_CLI_TIMEOUT, 0 };        struct timeval tv = { DEF_RPC_TIMEOUT, 0 };
   
         FD_ZERO(&fds);          FD_ZERO(&fds);
         memset(buf, 0, BUFSIZ);          memset(buf, 0, BUFSIZ);
Line 192  rpc_cli_execCall(rpc_cli_t *cli, const char *csModule, Line 192  rpc_cli_execCall(rpc_cli_t *cli, const char *csModule,
                                         data += in_vals[i].val_len;                                          data += in_vals[i].val_len;
                                         Limit += in_vals[i].val_len;                                          Limit += in_vals[i].val_len;
                                         break;                                          break;
                                case array:                                case blob:
                                         if (Limit + in_vals[i].val_len > BUFSIZ) {                                          if (Limit + in_vals[i].val_len > BUFSIZ) {
                                                 ret = -7;                                                  ret = -7;
                                                 break;                                                  break;
                                         }                                          }
   
                                        memcpy(data, in_vals[i].val.array, in_vals[i].val_len);                                        memcpy(data, in_vals[i].val.blob, in_vals[i].val_len);
                                        v[i].val.array = (int8_t**) ((void*) data - (void*) v);                                        v[i].val.blob = (int8_t**) ((void*) data - (void*) v);
                                         data += in_vals[i].val_len;                                          data += in_vals[i].val_len;
                                         Limit += in_vals[i].val_len;                                          Limit += in_vals[i].val_len;
                                         break;                                          break;
Line 289  rpc_cli_execCall(rpc_cli_t *cli, const char *csModule, Line 289  rpc_cli_execCall(rpc_cli_t *cli, const char *csModule,
                                         }                                          }
                                         data += (*out_vals)[i].val_len + 1;                                          data += (*out_vals)[i].val_len + 1;
                                         break;                                          break;
                                case array:                                case blob:
                                        (*out_vals)[i].val.array = malloc((*out_vals)[i].val_len);                                        (*out_vals)[i].val.blob = malloc((*out_vals)[i].val_len);
                                        if (!(*out_vals)[i].val.array) {                                        if (!(*out_vals)[i].val.blob) {
                                                 rpc_SetErr(errno, "Error:: in prepare RPC reply ...\n");                                                  rpc_SetErr(errno, "Error:: in prepare RPC reply ...\n");
                                                 free(*out_vals);                                                  free(*out_vals);
                                                 *out_vals = NULL;                                                  *out_vals = NULL;
                                                 *out_argc = 0;                                                  *out_argc = 0;
                                                 return -1;                                                  return -1;
                                         } else                                          } else
                                                memcpy((*out_vals)[i].val.array, data, (*out_vals)[i].val_len);                                                memcpy((*out_vals)[i].val.blob, data, (*out_vals)[i].val_len);
                                         data += (*out_vals)[i].val_len;                                          data += (*out_vals)[i].val_len;
                                         break;                                          break;
                                 default:                                  default:
                                         break;                                          break;
                         }                          }
         } else {          } else {
                *out_argc = 0;                if (out_argc)
                *out_vals = NULL;                        *out_argc = 0;
                 if (out_vals)
                         *out_vals = NULL;
         }          }
   
         return rrpc->ret_retcode;          return rrpc->ret_retcode;

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


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