#include "libublsettings.h" // typedef struct yon_trash_collector_element{ // char *key; // void *data; // struct yon_trash_collector_element *next; // struct yon_trash_collector_element *prev; // struct yon_trash_collector_element *first; // } yon_trash_collector_element; // typedef struct yon_trash_collector_group{ // char *group_key; // yon_trash_collector_element *data; // struct yon_trash_collector_group *next; // struct yon_trash_collector_group *prev; // struct yon_trash_collector_group *first; // } yon_trash_collector_group; // yon_trash_collector_group *__yon_trash_collector__ = NULL; // #define check_trash if (__yon_trash_collector__) // #define trash_group(group_key) yon_dictionary_get(&__yon_trash_collector__,group_key) // #define for_trash_group for(yon_trash_collector_group *gr = __yon_trash_collector__->first;gr;gr=gr->next) // #define for_trash_element(group) for (yon_trash_collector_element *gr = group->first; gr;gr=gr->next) // #define yon_malloc_reg(size,key,group) yon_var_create_register(size,key,group) // yon_trash_collector_group *yon_trash_collector_group_new(){ // yon_trash_collector_group *group = malloc(sizeof(yon_trash_collector_group)); // group->data=NULL; // group->first=group; // group->group_key=NULL; // group->next=NULL; // group->prev=NULL; // return group; // } // int yon_trash_collector_element_register(yon_trash_collector_element *element,char *group){ // if (!element||yon_char_is_empty(element->key)||yon_char_is_empty(group)) // return 0; // check_trash{ // if (yon_dictionary_get((dictionary**)&__yon_trash_collector__,group)){ // if (yon_dictionary_get((dictionary**)&__yon_trash_collector__->data,element->key)); // } else { // yon_trash_collector_group *last = (yon_trash_collector_group*)yon_dictionary_get_last((dictionary*)__yon_trash_collector__); // __yon_trash_collector__->next = yon_trash_collector_group_new(); // __yon_trash_collector__->next->prev=__yon_trash_collector__; // __yon_trash_collector__->next->first=__yon_trash_collector__->first; // __yon_trash_collector__->next->data=element; // } // } else { // __yon_trash_collector__ = yon_trash_collector_group_new(); // __yon_trash_collector__->data=element; // } // return 1; // } // void *yon_var_create_register(int size,char *key,char*group){ // void *allocated = malloc(size); // } // yon_trash_collector_element *yon_trash_collector_element_get(void *pointer,yon_trash_collector_group *group){ // for_trash_element(group){ // if (gr->data==pointer) // return gr; // } // } // int yon_trash_collector_group_has(char *group_key, void *pointer){ // yon_trash_collector_group *group = trash_group(group_key); // yon_trash_collector_element *element = yon_trash_collector_element_get(pointer,&group); // if (element) // return 1; // } // yon_trash_collector_group *yon_trash_collector_shell_new(char *group_key){ // yon_trash_collector_group *trash = malloc(sizeof(yon_trash_collector_group)); // trash->group_key=yon_char_new(group_key); // trash->first=NULL; // trash->next=NULL; // trash->prev=NULL; // return trash; // } // yon_trash_collector_group *yon_trash_collector_new(int size, char *group_key){ // yon_trash_collector_group *trash = yon_trash_collector_shell_new(group_key); // trash->data=malloc(size); // return trash; // } // int yon_trash_collector_append(void *pointer, char group_key){ // if (yon_trash_collector_group_has(group_key,pointer)){ // } // check_trash{ // yon_trash_collector_group *trash = yon_trash_collector_shell_new(group_key); // trash->data=pointer; // yon_dictionary_connect((dictionary*)__yon_trash_collector__,(dictionary*)trash); // return 1; // } else { // __yon_trash_collector__ = yon_trash_collector_shell_new(group_key); // __yon_trash_collector__->data=pointer; // return 1; // } // } // int yon_trash_collector_free(char *group_key){ // } // void *yon_malloc(int size, char *group_key){ // void * data = yon_trash_collector_new(size,group_key)->data; // return data; // } // void *yon_malloc0(int size, char *group_key){ // void * data = yon_trash_collector_new(size,group_key)->data; // memset(data,0,size); // return data; // } // void *yon_realloc(void *pointer, int size, char *group_key){ // void * data = yon_trash_collector_new(size,group_key)->data; // memset(data,0,size); // return data; // }