Diff for /libaitrpc/src/lists.c between versions 1.1.2.2 and 1.1.2.3

version 1.1.2.2, 2010/06/23 15:07:15 version 1.1.2.3, 2010/06/24 11:01:46
Line 292  rpc_srv_getBLOB(rpc_srv_t * __restrict srv, uint32_t v Line 292  rpc_srv_getBLOB(rpc_srv_t * __restrict srv, uint32_t v
         return b;          return b;
 }  }
   
   /*
    * rpc_srv_registerBLOB() Register new BLOB to server
    * @srv = RPC Server instance
    * @len = BLOB length
    * return: -1 error or 0 register ok
    */
   rpc_blob_t *
   rpc_srv_registerBLOB(rpc_srv_t * __restrict srv, size_t len)
   {
           rpc_blob_t *blob = NULL;
   
           if (!srv || !len) {
                   rpc_SetErr(EINVAL, "Error:: Invalid parameter can`t register BLOB to server ...\n");
                   return blob;
           }
   
           blob = rpc_srv_blobCreate(srv, len);
           if (blob) {
                   pthread_mutex_lock(&srv->srv_blob.mtx);
                   blob->blob_next = srv->srv_blob.blobs;
                   srv->srv_blob.blobs = blob;
                   pthread_mutex_unlock(&srv->srv_blob.mtx);
           }
   
           return blob;
   }
   
   /*
    * rpc_srv_unregisterBLOB() Unregister BLOB from server
    * @srv = RPC Server instance
    * @var = BLOB Variable for unregister
    * return: -1 error, 0 not found call, 1 unregister ok
    */
   int
   rpc_srv_unregisterBLOB(rpc_srv_t * __restrict srv, uint32_t var)
   {
           rpc_blob_t *b, *curr;
   
           if (!srv) {
                   rpc_SetErr(EINVAL, "Error:: Invalid parameter can`t unregister BLOB from server ...\n");
                   return -1;
           }
   
           b = rpc_srv_getBLOB(srv, var);
           if (!b)         // not found element for unregister
                   return 0;
   
           pthread_mutex_lock(&srv->srv_blob.mtx);
           if (srv->srv_blob.blobs == b) { // if is 1st element
                   srv->srv_blob.blobs = srv->srv_blob.blobs->blob_next;
           } else {
                   for (curr = srv->srv_blob.blobs; curr->blob_next != b; curr = curr->blob_next);
                   curr->blob_next = curr->blob_next->blob_next;
           }
           rpc_srv_blobFree(srv, b);
           free(b);
           pthread_mutex_unlock(&srv->srv_blob.mtx);
   
           return 1;
   }

Removed from v.1.1.2.2  
changed lines
  Added in v.1.1.2.3


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