Diff for /libaitio/src/Attic/vars.c between versions 1.5 and 1.5.2.1

version 1.5, 2012/03/29 01:31:34 version 1.5.2.1, 2012/03/29 09:37:19
Line 86  io_vars2buffer(u_char *buf, int buflen, array_t *vars) Line 86  io_vars2buffer(u_char *buf, int buflen, array_t *vars)
                 val = io_array(vars, i, ait_val_t*);                  val = io_array(vars, i, ait_val_t*);
   
                 v[i].val_type = val->val_type;                  v[i].val_type = val->val_type;
                AIT_HASH(&v[i]) = htobe16(AIT_HASH(val));                AIT_KEY(&v[i]) = htobe16(AIT_KEY(val));
                 AIT_LEN(&v[i]) = htobe32(AIT_LEN(val));                  AIT_LEN(&v[i]) = htobe32(AIT_LEN(val));
   
                 switch (AIT_TYPE(val)) {                  switch (AIT_TYPE(val)) {
Line 193  io_buffer2vars(u_char *buf, int buflen, int vnum, int  Line 193  io_buffer2vars(u_char *buf, int buflen, int vnum, int 
                 val->val_type = v[i].val_type;                  val->val_type = v[i].val_type;
 #if defined(__OpenBSD__)  #if defined(__OpenBSD__)
                 AIT_LEN(val) = betoh32(AIT_LEN(&v[i]));                  AIT_LEN(val) = betoh32(AIT_LEN(&v[i]));
                AIT_HASH(val) = betoh16(AIT_HASH(&v[i]));                AIT_KEY(val) = betoh16(AIT_KEY(&v[i]));
 #else  #else
                 AIT_LEN(val) = be32toh(AIT_LEN(&v[i]));                  AIT_LEN(val) = be32toh(AIT_LEN(&v[i]));
                AIT_HASH(val) = be16toh(AIT_HASH(&v[i]));                AIT_KEY(val) = be16toh(AIT_KEY(&v[i]));
 #endif  #endif
   
                 switch (AIT_TYPE(val)) {                  switch (AIT_TYPE(val)) {
Line 300  io_vars2map(u_char *buf, int buflen, array_t *vars) Line 300  io_vars2map(u_char *buf, int buflen, array_t *vars)
                 val = io_array(vars, i, ait_val_t*);                  val = io_array(vars, i, ait_val_t*);
   
                 v[i].val_type = val->val_type;                  v[i].val_type = val->val_type;
                AIT_HASH(&v[i]) = AIT_HASH(val);                AIT_KEY(&v[i]) = AIT_KEY(val);
                 AIT_LEN(&v[i]) = AIT_LEN(val);                  AIT_LEN(&v[i]) = AIT_LEN(val);
   
                 switch (AIT_TYPE(val)) {                  switch (AIT_TYPE(val)) {
Line 405  io_map2vars(u_char *buf, int buflen, int vnum, int zcp Line 405  io_map2vars(u_char *buf, int buflen, int vnum, int zcp
                 io_arraySet(vars, i, val);                  io_arraySet(vars, i, val);
   
                 val->val_type = v[i].val_type;                  val->val_type = v[i].val_type;
                AIT_HASH(val) = AIT_HASH(&v[i]);                AIT_KEY(val) = AIT_KEY(&v[i]);
                 AIT_LEN(val) = AIT_LEN(&v[i]);                  AIT_LEN(val) = AIT_LEN(&v[i]);
   
                 switch (AIT_TYPE(val)) {                  switch (AIT_TYPE(val)) {
Line 569  io_freeVar(ait_val_t * __restrict val) Line 569  io_freeVar(ait_val_t * __restrict val)
                 free(val);                  free(val);
                 val = NULL;                  val = NULL;
         }          }
   }
   
   static int
   _cmp_arr_key_asc(const void *a, const void *b)
   {
           return AIT_KEY(*(ait_val_t**) a) - AIT_KEY(*(ait_val_t**) b);
   }
   
   static int
   _cmp_arr_key_desc(const void *a, const void *b)
   {
           return AIT_KEY(*(ait_val_t**) b) - AIT_KEY(*(ait_val_t**) a);
   }
   
   /*
    * io_sortVars() - Sorting array with variables
    *
    * @vars = Variable array
    * @order = Sort order. If =0 ascend or !=0 descend
    * @cmp = Compare function for sorting. If =NULL compare by key
    * return: none
    */
   inline void
   io_sortVars(array_t * __restrict vars, int order,  int (*cmp)(const void*, const void*))
   {
           if (!vars)
                   return;
   
           if (cmp)
                   qsort(vars->arr_data, vars->arr_num, sizeof(void*), cmp);
           else if (order)
                   qsort(vars->arr_data, vars->arr_num, sizeof(void*), _cmp_arr_key_desc);
           else
                   qsort(vars->arr_data, vars->arr_num, sizeof(void*), _cmp_arr_key_asc);
 }  }

Removed from v.1.5  
changed lines
  Added in v.1.5.2.1


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