Diff for /libaitsess/src/sess.c between versions 1.1.1.1.2.3 and 1.1.1.1.2.4

version 1.1.1.1.2.3, 2010/08/26 07:15:57 version 1.1.1.1.2.4, 2010/09/01 20:24:20
Line 11 Line 11
   
   
 /*  /*
    * sess_GetValues() Get all values from session shared memory
    * @s = Session item
    * @ppsVals = Return array strings
    * return: -1 error: in parameter, !=-1 count of returned strings in ppsVals (must be free after use!)
   */
   int sess_GetValues(tagSess * __restrict s, char ***ppsVals)
   {
           register int i;
           char **valz, *Shared = NULL;
           char *peer, *p_brk;
   
           if (!s || !ppsVals)
                   return -1;
           valz = malloc(sizeof(caddr_t));
           if (!valz) {
                   LOGERR;
                   return -1;
           } else
                   memset(valz, 0, sizeof(caddr_t));
   
           // allocated memory & mirrored shared memory into this
           Shared = malloc(s->eom);
           if (!Shared) {
                   LOGERR;
                   free(valz);
                   return -1;
           } else
                   memcpy(Shared, s->addr, s->eom);
   
           for (i = 0, peer = strtok_r(Shared, MEM_DELIM"\r\n", &p_brk); peer; 
                           peer = strtok_r(NULL, MEM_DELIM"\r\n", &p_brk)) {
                   if (!strchr(peer, '='))
                           continue;
                   else
                           i++;
   
                   valz = realloc(valz, (i + 1) * sizeof(caddr_t));
                   if (!valz) {
                           LOGERR;
                           free(Shared);
                           return -1;
                   } else
                           memset(valz[i], 0, sizeof(caddr_t));
   
                   valz[i - 1] = strdup(peer);
           }
   
           free(Shared);
           return i;
   }
   
   /*
  * sess_GetValue() Get value from session shared memory from attribute   * sess_GetValue() Get value from session shared memory from attribute
  * @s = Session item   * @s = Session item
  * @csAttr = Attribute for search   * @csAttr = Attribute for search

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>