Diff for /libaitrpc/src/srv.c between versions 1.9.2.6 and 1.9.2.8

version 1.9.2.6, 2012/05/15 20:49:25 version 1.9.2.8, 2012/05/16 07:15:45
Line 75  txPacket(sched_task_t *task) Line 75  txPacket(sched_task_t *task)
         u_char buf[USHRT_MAX] = { 0 };          u_char buf[USHRT_MAX] = { 0 };
         struct tagRPCCall *rpc = (struct tagRPCCall*) buf;          struct tagRPCCall *rpc = (struct tagRPCCall*) buf;
         int ret, wlen = sizeof(struct tagRPCCall);          int ret, wlen = sizeof(struct tagRPCCall);
         array_t *arr = NULL;  
   
         /* copy RPC header */          /* copy RPC header */
         memcpy(buf, TASK_DATA(task), wlen);          memcpy(buf, TASK_DATA(task), wlen);
Line 87  txPacket(sched_task_t *task) Line 86  txPacket(sched_task_t *task)
                         rpc->call_rep.ret = RPC_ERROR(-1);                          rpc->call_rep.ret = RPC_ERROR(-1);
                         rpc->call_rep.eno = RPC_ERROR(rpc_Errno);                          rpc->call_rep.eno = RPC_ERROR(rpc_Errno);
                 } else {                  } else {
                        rpc->call_argc = htons(rpc_srv_getVars(f, &arr));                        rpc->call_argc = htons(io_arraySize(f->func_vars));
                         /* Go Encapsulate variables */                          /* Go Encapsulate variables */
                        ret = io_vars2buffer(buf + wlen, sizeof buf - wlen, arr);                        ret = io_vars2buffer(buf + wlen, sizeof buf - wlen, f->func_vars);
                         /* Free return values */                          /* Free return values */
                         io_clrVars(f->func_vars);                          io_clrVars(f->func_vars);
                         if (ret == -1) {                          if (ret == -1) {
Line 141  execCall(sched_task_t *task) Line 140  execCall(sched_task_t *task)
                         rpc->call_rep.eno = RPC_ERROR(rpc_Errno);                          rpc->call_rep.eno = RPC_ERROR(rpc_Errno);
                         return NULL;                          return NULL;
                 }                  }
        }        } else
                 arr = NULL;
   
         if (!(f = rpc_srv_getCall(s, ntohs(rpc->call_tag)))) {          if (!(f = rpc_srv_getCall(s, ntohs(rpc->call_tag)))) {
                 rpc_SetErr(EPROGUNAVAIL, "Function not found at RPC server");                  rpc_SetErr(EPROGUNAVAIL, "Function not found at RPC server");
Line 161  execCall(sched_task_t *task) Line 161  execCall(sched_task_t *task)
                                 /* without reply */                                  /* without reply */
                                 io_clrVars(f->func_vars);                                  io_clrVars(f->func_vars);
                                 rpc->call_argc ^= rpc->call_argc;                                  rpc->call_argc ^= rpc->call_argc;
                        } else                        } else {
                                rpc->call_argc = htons(rpc_srv_getVars(f, NULL));                                /* reply */
                                 rpc->call_argc = htons(io_arraySize(f->func_vars));
                         }
                 }                  }
         }          }
   

Removed from v.1.9.2.6  
changed lines
  Added in v.1.9.2.8


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