Пример #1
0
void
clOsalMemoryChecker(void) {
  if (CLIST_SIZE(_memory_logger_element)(g_memory_logger) != 0) {
    CLIST_ITER_TYPE(_memory_logger_element) iter =
      CLIST_BEGIN(_memory_logger_element)(g_memory_logger);
    while (iter != CLIST_END(_memory_logger_element)(g_memory_logger)) {
      _memory_logger_element *e = CLIST_ITER_GET_DATA(_memory_logger_element)(iter);
      clOsalPrintf("0x%p, at \"%s\":%d\n", e->ptr, e->filename, e->lineno);
      iter = CLIST_ITER_INCREMENT(_memory_logger_element)(iter);
    }
  }
}
Пример #2
0
void
clOsalFreeDbg(void *ptr) {
  if (ptr != NULL) {
    CLIST_ITER_TYPE(_memory_logger_element) iter;
    
    iter = CLIST_SEARCH(_memory_logger_element)(g_memory_logger, ptr, compare_func);
    ASSERT(iter != CLIST_END(_memory_logger_element)(g_memory_logger));
    
    CLIST_ERASE(_memory_logger_element)(g_memory_logger, iter);
    
    free(ptr);
  }
}
Пример #3
0
void
volume_list_destroy(volume_list_t *list) {
    volume_t *current, *next;

    if (list != NULL) {
        current = CLIST_HEAD(list);
        while (!CLIST_END(list, current)) {
            next = CLIST_NEXT(current);
            CLIST_REMOVE(current);
            volume_destroy(current);
            current = next;
        }
    }
}
Пример #4
0
volume_t *
volume_list_lookup_by_mount_point(volume_list_t *list, const char *mountPoint) {
    volume_t *current, *result;

    result = NULL;
    if ((list != NULL) && (mountPoint != NULL)) {
        current = CLIST_HEAD(list);
        while (!CLIST_END(list, current)) {
            if (strcmp(current->mountPoint, mountPoint) == 0) {
                result = current;
                break;
            }
            current = CLIST_NEXT(current);
        }
    }
    return result;
}
Пример #5
0
void *
clOsalReallocDbg(void *ptr, size_t const size, char const *filename, int const lineno) {
  CLIST_ITER_TYPE(_memory_logger_element) iter;
  
  ASSERT(ptr != NULL);
  
  iter = CLIST_SEARCH(_memory_logger_element)(g_memory_logger, ptr, compare_func);
  ASSERT(iter != CLIST_END(_memory_logger_element)(g_memory_logger));
  
  CLIST_ERASE(_memory_logger_element)(g_memory_logger, iter);
  
  if (NULL == g_memory_logger) {
    g_memory_logger = CLIST_NEW(_memory_logger_element)();
  }
  ptr = realloc(ptr, size);
  {
    struct _memory_logger_element e = {filename, lineno, ptr};
    CLIST_PUSH_BACK(_memory_logger_element)(g_memory_logger, &e);
  }
  return ptr;
}