const char *get_memory_line(void *state);
void finish_memory_lines(memory_lines_state *s);
-file_lines_state *init_file_lines(const char *filename);
-file_lines_state *init_truncated_file_lines(const char *filename, char truncate);
+file_lines_state *init_file_lines(const char *filename, char truncate);
void rewind_file_lines(void *state);
const char *get_file_line(void *state);
void finish_file_lines(file_lines_state *s);
MY_ASSERT(txt);
register_default_unformatted(txt, listdelim, listaddr);
register_unformatted(txt, "bouncenumbers", "%bouncenumbers%"); /* DEPRECATED */
- fls = init_truncated_file_lines(addr, ':');
+ fls = init_file_lines(addr, ':');
register_formatted(txt, "bouncenumbers",
rewind_file_lines, get_file_line, fls);
queuefilename = prepstdreply(txt, listdir, "$listowner$", myaddr, NULL, listfd, ctrlfd);
}
-file_lines_state *init_file_lines(const char *filename)
+file_lines_state *init_file_lines(const char *filename, char truncate)
{
- file_lines_state *s = xmalloc(sizeof(file_lines_state));
-
+ file_lines_state *s = xcalloc(1, sizeof(file_lines_state));
s->filename = xstrdup(filename);
s->fd = -1;
-
- s->truncate = '\0';
- s->line = NULL;
- return s;
-}
-
-
-file_lines_state *init_truncated_file_lines(const char *filename, char truncate)
-{
- file_lines_state *s;
- s = init_file_lines(filename);
- if (s == NULL) return NULL;
s->truncate = truncate;
return s;
}
}
}
-
const char *get_file_line(void *state)
{
file_lines_state *s = (file_lines_state *)state;