* Remove the dependency on llfs_root
* Change over to llfs_next_file
This commit is contained in:
2023-11-20 16:14:04 +01:00
parent eea21fc15d
commit 38bdf73763

View File

@@ -15,8 +15,6 @@
static const char* TAG = "tftp_server";
extern struct llfs_data_file* llfs_root;
static tftp_custom_file_t virt_file[] = {{.name = "index.txt", .data = NULL, .len = 0, .offset = 0},
{.name = "virtImage.bmp", .data = NULL, .len = 0, .offset = 0},
{.name = "virtImage.gif", .data = NULL, .len = 0, .offset = 0},
@@ -245,10 +243,10 @@ void init_index(void) {
for (int i = 0; i < 2; i++) {
len += strlen(virt_file[i].name) + 1;
}
const struct llfs_data_file* root = llfs_root;
while (root != NULL) {
len += strlen(root->name) + 1;
root = root->next;
void* mem = NULL; // Pointer for internal use by the llfs library
llfs_file_t* file;
while ((file = llfs_next_file(&mem, NULL)) != NULL) {
len += strlen(file->name) + 1;
}
len++; // +1 for the \0
virt_file[VIRT_INDEX_TXT].data = malloc(len);
@@ -258,11 +256,13 @@ void init_index(void) {
str_cat_str(virt_file[VIRT_INDEX_TXT].data, len, virt_file[i].name);
str_cat(virt_file[VIRT_INDEX_TXT].data, len, '\n');
}
root = llfs_root;
while (root != NULL) {
str_cat_str(virt_file[VIRT_INDEX_TXT].data, len, root->name);
mem = NULL;
file = NULL;
while ((file = llfs_next_file(&mem, NULL)) != NULL) {
str_cat_str(virt_file[VIRT_INDEX_TXT].data, len, file->name);
str_cat(virt_file[VIRT_INDEX_TXT].data, len, '\n');
root = root->next;
}
}