* 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"; 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}, 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.bmp", .data = NULL, .len = 0, .offset = 0},
{.name = "virtImage.gif", .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++) { for (int i = 0; i < 2; i++) {
len += strlen(virt_file[i].name) + 1; len += strlen(virt_file[i].name) + 1;
} }
const struct llfs_data_file* root = llfs_root; void* mem = NULL; // Pointer for internal use by the llfs library
while (root != NULL) { llfs_file_t* file;
len += strlen(root->name) + 1; while ((file = llfs_next_file(&mem, NULL)) != NULL) {
root = root->next; len += strlen(file->name) + 1;
} }
len++; // +1 for the \0 len++; // +1 for the \0
virt_file[VIRT_INDEX_TXT].data = malloc(len); 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_str(virt_file[VIRT_INDEX_TXT].data, len, virt_file[i].name);
str_cat(virt_file[VIRT_INDEX_TXT].data, len, '\n'); str_cat(virt_file[VIRT_INDEX_TXT].data, len, '\n');
} }
root = llfs_root;
while (root != NULL) { mem = NULL;
str_cat_str(virt_file[VIRT_INDEX_TXT].data, len, root->name); 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'); str_cat(virt_file[VIRT_INDEX_TXT].data, len, '\n');
root = root->next;
} }
} }