8 static void url_del_elem(url_t *elem);
9 static void url_print(url_t *u);
21 int url_add(const char *link_name, int link_name_length, const char *target, int target_length, int x, int y) {
22 if (!init_ok) return -1;
33 tmp->next = malloc(sizeof(url_t));
37 list = malloc(sizeof(url_t));
42 tmp -> link_name = calloc(link_name_length, sizeof(char));
43 assert(tmp->link_name);
44 strncpy(tmp->link_name, link_name, link_name_length);
46 tmp->target = calloc(target_length, sizeof(char));
48 strncpy(tmp->target, target, target_length);
59 char * url_get_target(int index) {
62 while (index > 0 && tmp && tmp->next) {
72 char * url_get_name(int index) {
75 while (index > 0 && tmp && tmp->next) {
81 return tmp->link_name;
92 static void url_del_elem(url_t *elem) {
96 url_del_elem(elem->next);
105 if (elem->link_name) {
106 free(elem->link_name);
107 elem->link_name = NULL;
113 void url_dump(void) {
126 static void url_print(url_t *u) {
127 printf("url_t @ %p\n", u);
130 int url_get_amount(void) {