Diff for /libaitrpc/src/lists.c between versions 1.3.2.1 and 1.4.2.1

version 1.3.2.1, 2011/08/19 08:24:13 version 1.4.2.1, 2011/08/29 23:26:56
Line 53  SUCH DAMAGE. Line 53  SUCH DAMAGE.
  * @varnum = Number of return variables   * @varnum = Number of return variables
  * return: NULL error, !=NULL array with return values for RPC call with varnum items   * return: NULL error, !=NULL array with return values for RPC call with varnum items
  */   */
inline rpc_val_t *inline ait_val_t *
 rpc_srv_returnVars(rpc_func_t * __restrict call, int varnum)  rpc_srv_returnVars(rpc_func_t * __restrict call, int varnum)
 {  {
        rpc_val_t *v = NULL;        ait_val_t *v = NULL;
   
         if (rpc_srv_allocVars(call, varnum) == -1)          if (rpc_srv_allocVars(call, varnum) == -1)
                 return NULL;                  return NULL;
Line 92  rpc_srv_allocVars(rpc_func_t * __restrict call, int va Line 92  rpc_srv_allocVars(rpc_func_t * __restrict call, int va
                         call->func_vars = NULL;                          call->func_vars = NULL;
                 }                  }
         } else {          } else {
                ptr = realloc(call->func_vars, varnum * sizeof(rpc_val_t));                ptr = realloc(call->func_vars, varnum * sizeof(ait_val_t));
                 if (!ptr) {                  if (!ptr) {
                         LOGERR;                          LOGERR;
                         call->func_args = 0;                          call->func_args = 0;
Line 117  rpc_srv_zeroVars(rpc_func_t * __restrict call) Line 117  rpc_srv_zeroVars(rpc_func_t * __restrict call)
                 return -1;                  return -1;
         }          }
   
        memset(call->func_vars, 0, call->func_args * sizeof(rpc_val_t));        memset(call->func_vars, 0, call->func_args * sizeof(ait_val_t));
         return call->func_args;          return call->func_args;
 }  }
   
Line 128  rpc_srv_zeroVars(rpc_func_t * __restrict call) Line 128  rpc_srv_zeroVars(rpc_func_t * __restrict call)
  * return: -1 error, !=-1 Returned number of copied RPC variables   * return: -1 error, !=-1 Returned number of copied RPC variables
  */   */
 inline int  inline int
rpc_srv_copyVars(rpc_func_t * __restrict call, rpc_val_t ** __restrict newvars)rpc_srv_copyVars(rpc_func_t * __restrict call, ait_val_t ** __restrict newvars)
 {  {
         if (!call || !newvars) {          if (!call || !newvars) {
                 rpc_SetErr(EINVAL, "Error:: Invalid parameter can`t copy variables to new array\n");                  rpc_SetErr(EINVAL, "Error:: Invalid parameter can`t copy variables to new array\n");
                 return -1;                  return -1;
         }          }
   
        *newvars = calloc(call->func_args, sizeof(rpc_val_t));        *newvars = calloc(call->func_args, sizeof(ait_val_t));
         if (!*newvars) {          if (!*newvars) {
                 LOGERR;                  LOGERR;
                 return -1;                  return -1;
         } else          } else
                memcpy(*newvars, call->func_vars, call->func_args * sizeof(rpc_val_t));                memcpy(*newvars, call->func_vars, call->func_args * sizeof(ait_val_t));
   
         return call->func_args;          return call->func_args;
 }  }
Line 152  rpc_srv_copyVars(rpc_func_t * __restrict call, rpc_val Line 152  rpc_srv_copyVars(rpc_func_t * __restrict call, rpc_val
  * return: -1 error, !=-1 Number of returned variables   * return: -1 error, !=-1 Number of returned variables
  */   */
 inline int  inline int
rpc_srv_getVars(rpc_func_t * __restrict call, rpc_val_t ** __restrict vars)rpc_srv_getVars(rpc_func_t * __restrict call, ait_val_t ** __restrict vars)
 {  {
         if (!call) {          if (!call) {
                 rpc_SetErr(EINVAL, "Error:: Invalid parameter can`t get variables ...\n");                  rpc_SetErr(EINVAL, "Error:: Invalid parameter can`t get variables ...\n");
Line 180  rpc_srv_registerCall(rpc_srv_t * __restrict srv, const Line 180  rpc_srv_registerCall(rpc_srv_t * __restrict srv, const
         rpc_func_t *func;          rpc_func_t *func;
         u_char str[MAXPATHLEN + UCHAR_MAX + 1];          u_char str[MAXPATHLEN + UCHAR_MAX + 1];
   
        memset(str, 0, MAXPATHLEN + UCHAR_MAX + 1);        memset(str, 0, sizeof str);
         if (!srv || !csFunc) {          if (!srv || !csFunc) {
                 rpc_SetErr(EINVAL, "Error:: Invalid parameter can`t register function to RPC server ...\n");                  rpc_SetErr(EINVAL, "Error:: Invalid parameter can`t register function to RPC server ...\n");
                 return -1;                  return -1;
Line 190  rpc_srv_registerCall(rpc_srv_t * __restrict srv, const Line 190  rpc_srv_registerCall(rpc_srv_t * __restrict srv, const
                 return -1;                  return -1;
         } else {          } else {
                 memset(func, 0, sizeof(rpc_func_t));                  memset(func, 0, sizeof(rpc_func_t));
                strlcpy((char*) func->func_name, csFunc, UCHAR_MAX + 1);                strlcpy((char*) func->func_name, csFunc, sizeof func->func_name);
         }          }
         if (csModule) {          if (csModule) {
                strlcpy((char*) func->func_file, csModule, MAXPATHLEN);                strlcpy((char*) func->func_file, csModule, sizeof func->func_file);
                strlcpy((char*) str, csModule, MAXPATHLEN + UCHAR_MAX + 1);                strlcpy((char*) str, csModule, sizeof str);
         }          }
        strlcat((char*) str, "__", MAXPATHLEN + UCHAR_MAX + 1);        strlcat((char*) str, "__", sizeof str);
        strlcat((char*) str, csFunc, MAXPATHLEN + UCHAR_MAX + 1);        strlcat((char*) str, csFunc, sizeof str);
   
        func->func_tag = crcFletcher16((u_short*) str, (MAXPATHLEN + UCHAR_MAX + 1) / 2);        func->func_tag = crcFletcher16((u_short*) str, sizeof str / 2);
        func->func_hash = hash_fnv((char*) str, MAXPATHLEN + UCHAR_MAX + 1);        func->func_hash = hash_fnv((char*) str, sizeof str);
   
         func->func_parent = srv;          func->func_parent = srv;
   
Line 230  rpc_srv_unregisterCall(rpc_srv_t * __restrict srv, con Line 230  rpc_srv_unregisterCall(rpc_srv_t * __restrict srv, con
         u_char str[MAXPATHLEN + UCHAR_MAX + 1];          u_char str[MAXPATHLEN + UCHAR_MAX + 1];
   
         memset(&func, 0, sizeof(rpc_func_t));          memset(&func, 0, sizeof(rpc_func_t));
        memset(str, 0, MAXPATHLEN + UCHAR_MAX + 1);        memset(str, 0, sizeof str);
         if (!srv || !csFunc) {          if (!srv || !csFunc) {
                 rpc_SetErr(EINVAL, "Error:: Invalid parameter can`t unregister function from RPC server ...\n");                  rpc_SetErr(EINVAL, "Error:: Invalid parameter can`t unregister function from RPC server ...\n");
                 return -1;                  return -1;
         } else          } else
                strlcpy((char*) func.func_name, csFunc, UCHAR_MAX + 1);                strlcpy((char*) func.func_name, csFunc, sizeof func.func_name);
         if (csModule) {          if (csModule) {
                strlcpy((char*) func.func_file, csModule, MAXPATHLEN);                strlcpy((char*) func.func_file, csModule, sizeof func.func_file);
                strlcpy((char*) str, csModule, MAXPATHLEN + UCHAR_MAX + 1);                strlcpy((char*) str, csModule, sizeof str);
         }          }
        strlcat((char*) str, "__", MAXPATHLEN + UCHAR_MAX + 1);        strlcat((char*) str, "__", sizeof str);
        strlcat((char*) str, csFunc, MAXPATHLEN + UCHAR_MAX + 1);        strlcat((char*) str, csFunc, sizeof str);
   
        func.func_tag = crcFletcher16((u_short*) str, (MAXPATHLEN + UCHAR_MAX + 1) / 2);        func.func_tag = crcFletcher16((u_short*) str, sizeof str / 2);
        func.func_hash = hash_fnv((char*) str, MAXPATHLEN + UCHAR_MAX + 1);        func.func_hash = hash_fnv((char*) str, sizeof str);
   
         f = rpc_srv_getCall(srv, func.func_tag, func.func_hash);          f = rpc_srv_getCall(srv, func.func_tag, func.func_hash);
         if (!f)                         /* not found element for unregister */          if (!f)                         /* not found element for unregister */
Line 308  rpc_srv_getFunc(rpc_srv_t * __restrict srv, const char Line 308  rpc_srv_getFunc(rpc_srv_t * __restrict srv, const char
         u_char str[MAXPATHLEN + UCHAR_MAX + 1];          u_char str[MAXPATHLEN + UCHAR_MAX + 1];
   
         memset(&func, 0, sizeof(rpc_func_t));          memset(&func, 0, sizeof(rpc_func_t));
        memset(str, 0, MAXPATHLEN + UCHAR_MAX + 1);        memset(str, 0, sizeof str);
         if (!srv || !csFunc) {          if (!srv || !csFunc) {
                 rpc_SetErr(EINVAL, "Error:: Invalid parameter can`t get function from RPC server ...\n");                  rpc_SetErr(EINVAL, "Error:: Invalid parameter can`t get function from RPC server ...\n");
                 return NULL;                  return NULL;
         } else          } else
                strlcpy((char*) func.func_name, csFunc, UCHAR_MAX + 1);                strlcpy((char*) func.func_name, csFunc, sizeof func.func_name);
         if (csModule) {          if (csModule) {
                strlcpy((char*) func.func_file, csModule, MAXPATHLEN);                strlcpy((char*) func.func_file, csModule, sizeof func.func_file);
                strlcpy((char*) str, csModule, MAXPATHLEN + UCHAR_MAX + 1);                strlcpy((char*) str, csModule, sizeof str);
         }          }
        strlcat((char*) str, "__", MAXPATHLEN + UCHAR_MAX + 1);        strlcat((char*) str, "__", sizeof str);
        strlcat((char*) str, csFunc, MAXPATHLEN + UCHAR_MAX + 1);        strlcat((char*) str, csFunc, sizeof str);
   
        func.func_tag = crcFletcher16((u_short*) str, (MAXPATHLEN + UCHAR_MAX + 1) / 2);        func.func_tag = crcFletcher16((u_short*) str, sizeof str / 2);
        func.func_hash = hash_fnv((char*) str, MAXPATHLEN + UCHAR_MAX + 1);        func.func_hash = hash_fnv((char*) str, sizeof str);
   
         return rpc_srv_getCall(srv, func.func_tag, func.func_hash);          return rpc_srv_getCall(srv, func.func_tag, func.func_hash);
 }  }

Removed from v.1.3.2.1  
changed lines
  Added in v.1.4.2.1


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