in src/main.c [211:244]
static int append(sparkey_logwriter *writer, char delimiter, FILE *input) {
char *line = NULL;
char *key = NULL;
char *value = NULL;
size_t size = 0;
sparkey_returncode returncode;
char delim[2];
delim[0] = delimiter;
delim[1] = '\0';
for (size_t end = read_line(&line, &size, input); line[end] == '\n'; end = read_line(&line, &size, input)) {
// Split on the first delimiter
key = strtok(line, delim);
value = strtok(NULL, "\n");
if (value != NULL) {
// Write to log
TRY(sparkey_logwriter_put(writer, strlen(key), (uint8_t*)key, strlen(value), (uint8_t*)value), put_fail);
} else {
goto split_fail;
}
}
free(line);
return 0;
split_fail:
free(line);
fprintf(stderr, "Cannot split input line, aborting early.\n");
return 1;
put_fail:
free(line);
fprintf(stderr, "Cannot append line to log file, aborting early: %s\n", sparkey_errstring(returncode));
return 1;
}