| 76 |
|
write_links_file(void *notused) |
| 77 |
|
{ |
| 78 |
|
FILE *file = NULL; |
| 79 |
< |
dlink_node *ptr = NULL, *ptr_next = NULL;; |
| 79 |
> |
dlink_node *ptr = NULL, *ptr_next = NULL; |
| 80 |
|
char buff[IRCD_BUFSIZE] = { '\0' }; |
| 81 |
|
|
| 82 |
|
if ((file = fopen(LIPATH, "w")) == NULL) |
| 111 |
|
*/ |
| 112 |
|
snprintf(buff, sizeof(buff), "%s %s :1 %s", target_p->name, |
| 113 |
|
me.name, target_p->info); |
| 114 |
< |
dlinkAdd(xstrdup(buff), make_dlink_node(), &flatten_links); |
| 114 |
> |
dlinkAddTail(xstrdup(buff), make_dlink_node(), &flatten_links); |
| 115 |
|
snprintf(buff, sizeof(buff), "%s %s :1 %s\n", target_p->name, |
| 116 |
|
me.name, target_p->info); |
| 117 |
|
|
| 119 |
|
} |
| 120 |
|
|
| 121 |
|
fclose(file); |
| 122 |
+ |
} |
| 123 |
+ |
|
| 124 |
+ |
void |
| 125 |
+ |
read_links_file(void) |
| 126 |
+ |
{ |
| 127 |
+ |
FILE *file = NULL; |
| 128 |
+ |
char *p = NULL; |
| 129 |
+ |
char buff[IRCD_BUFSIZE] = { '\0' }; |
| 130 |
+ |
|
| 131 |
+ |
if ((file = fopen(LIPATH, "r")) == NULL) |
| 132 |
+ |
return; |
| 133 |
+ |
|
| 134 |
+ |
while (fgets(buff, sizeof(buff), file)) |
| 135 |
+ |
{ |
| 136 |
+ |
if ((p = strchr(buff, '\n')) != NULL) |
| 137 |
+ |
*p = '\0'; |
| 138 |
+ |
|
| 139 |
+ |
dlinkAddTail(xstrdup(buff), make_dlink_node(), &flatten_links); |
| 140 |
+ |
} |
| 141 |
+ |
|
| 142 |
+ |
fclose(file); |
| 143 |
|
} |
| 144 |
|
|
| 145 |
|
/* hunt_server() |