Ejemplo n.º 1
0
static void test_case_char (void)
{
    SLL_T* head;
    int i;
    
    head = sll_new (CDATA, iter_cb_char, pre_iterator, post_iterator);

    for (i = 'a'; i <= 'z'; i++)
       sll_insert (head, i);
    sll_iter (head);
    printf ("\n");
    fprintf (stderr, "deleting a\n");
    sll_delete (head, 'a');
    fprintf (stderr, "deleting f\n");
    sll_delete (head, 'f');
    fprintf (stderr, "deleting z\n");
    sll_delete (head, 'z');
    sll_iter (head);
    fprintf (stderr, "inserting a \n");    
    sll_insert (head, 'a');
    fprintf (stderr, "inserting z\n");    
    sll_insert (head, 'z');
    fprintf (stderr, "inserting z\n");    
    sll_insert (head, 'z');
    sll_iter (head);
    fprintf (stderr, "deleting z\n");
    sll_delete (head, 'z');
    sll_iter (head);
}
Ejemplo n.º 2
0
void sll_destroy( struct simpleLinkedList *element ) {
  if( element && ( element != NULL ) ) {
    o_log(SQLDEBUG, "preparing to delete element: %x, with prev=%x, and next=%x", element, element->prev, element->next);
    sll_destroy( sll_getNext( element ) );
    sll_delete( element );
  }
}
Ejemplo n.º 3
0
void strBuf_reset(NStrBuf* strBuf)
{
    if (strBuf->lst) {
        NStrBufSeg* seg = sll_first(strBuf->lst);
        while (seg) {
            NBK_free(seg->data);
            NBK_free(seg);
            seg = sll_next(strBuf->lst);
        }
        sll_delete(&strBuf->lst);
    }
}
Ejemplo n.º 4
0
/*******************************************************************************
* test_case_int_1 - test core linked list operations
*
* RETURNS: void
*/
static void test_case_int_4 (void)
{
    SLL_T* head;
    int i;

    fprintf (stdout, "TC[LL]: test case int#1\n");
    head = sll_new (IDATA, iter_cb_int, pre_iterator, post_iterator);

    fprintf (stdout, "TC[LL]: inserting 1...19\n");
    for (i = 1; i < 20; i++)
       sll_insert (head, i);
    sll_iter (head);
    
    fprintf (stdout, "TC[LL]: deleting 10\n");
    sll_delete (head, 10);
    fprintf (stdout, "TC[LL]: deleting 15\n");
    sll_delete (head, 15);
    fprintf (stdout, "TC[LL]: deleting 19\n");
    sll_delete (head, 19);
    sll_iter (head);
    fprintf (stdout, "TC[LL]: inserting 19\n");    
    sll_insert (head, 19);
    fprintf (stdout, "TC[LL]: inserting 10\n");    
    sll_insert (head, 10);
    sll_iter (head);
    if (NULL != sll_find (head, 5))
        fprintf (stdout, "TC[LL]: OK found 5\n");
    else
        fprintf (stdout, "TC[LL]: ERROR Not found 5\n");
    if (NULL != sll_find (head, 67))
        fprintf (stdout, "TC[LL]: ERROR found 67\n");
    else
        fprintf (stdout, "TC[LL]: OK Not found 67\n");

    
}
Ejemplo n.º 5
0
CResourceManager::~CResourceManager()
{
    if (iDecodeThread) {
        delete iDecodeThread;
        iDecodeThread = NULL; // it shoudn't be dandling in case of DLL load/unload at runtime         
    }

    iTimer->Cancel();
    delete iTimer;
    
    CleanAllConn(KAllPageId);
    CloseHttpSession();

    sll_delete(&iConnList);

    if (m_IAPSeted && m_bUseOutNetSettting) {
        iConnection = NULL;
        iSocketServ = NULL;
    }
    else if (m_IAPSeted && !m_bUseOutNetSettting) {
        m_connection.Close();
        m_socketServ.Close();
    }

    cookieMgr_save(iCookieMgr, COOKIE_PATH);
    cookieMgr_delete(&iCookieMgr);
    
    cacheMgr_save(iCacheMgr);
    cacheMgr_delete(&iCacheMgr);

    if (iUserAgent)
        delete iUserAgent;
    if (iImei)
        delete iImei;

    if (iCachePath)
        delete iCachePath;
    
    if (iProbe) {
        delete iProbe;
        iProbe = NULL;
    }
    if (iSysControl) {
        delete iSysControl;
        iSysControl = NULL;
    }
}
Ejemplo n.º 6
0
// Delete session that have not been accessed since 'oldest_allowed'
void clear_sessions_older_than( time_t oldest_allowed ) {
  struct simpleLinkedList *session = NULL;
  struct simpleLinkedList *sess_data = NULL;
  int session_expiration_count = 0;

  session = sll_findFirstElement( sessions );
  while( session != NULL ) {

    struct simpleLinkedList *this_session = session;
    session = sll_getNext( session );

    if( 0 == strcmp( this_session->key, "placeholder" ) )
      continue;

    struct session_data *sessions_element = (struct session_data *)this_session->data;
    if( sessions_element->last_accessed < oldest_allowed ) {

      for( sess_data = sll_findFirstElement( sessions_element->session_container ) ; sess_data != NULL ; sess_data = sll_getNext( sess_data ) ) {
        free( sess_data->key );
        free( sess_data->data );
      }
      sll_destroy( sll_findFirstElement( sessions_element->session_container ) );
      sessions_element->session_container = NULL;

      free( sessions_element );
      this_session->data = NULL;

      o_log( DEBUGM, "Deleting session: %s", this_session->key );
      free( this_session->key );
      this_session->key = NULL;

      sll_delete( this_session );
      session_expiration_count++;
    }
  }
  if( session_expiration_count >= 1 ) {
    o_log( DEBUGM, "Expired %d sessions", session_expiration_count);
  }

}