Skip to content

Commit 06ba974

Browse files
committed
VFS v2.1 - Fix Empty Folder Case
1 parent 1fa2b91 commit 06ba974

5 files changed

Lines changed: 45 additions & 35 deletions

File tree

examples/C++/test_index_redirect/vfs.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# Canada.
88
#
99
# WebUI Virtual File System Generator
10-
# v2.0
10+
# v2.1
1111

1212
import os
1313
import sys
@@ -41,7 +41,6 @@ def generate_vfs_header(directory, output_header):
4141
header.write('};\n\n')
4242

4343
header.write('\nstatic const VirtualFile virtual_files[] = {\n')
44-
4544
for i, (relative_path, filepath) in enumerate(files):
4645
with open(filepath, 'rb') as f:
4746
data = f.read()
@@ -50,17 +49,20 @@ def generate_vfs_header(directory, output_header):
5049
header.write(f' FILE_{i},\n')
5150
header.write(f' {len(data)}\n')
5251
header.write(' },\n')
53-
52+
if not files:
53+
header.write(' {NULL, NULL, 0}\n')
5454
header.write('};\n\n')
5555

5656
header.write('static const int virtual_files_count = sizeof(virtual_files) / sizeof(virtual_files[0]);\n\n')
5757

5858
header.write('bool virtual_file_system(const char* path, const unsigned char** file, int* length) {\n')
5959
header.write(' for (int i = 0; i < virtual_files_count; ++i) {\n')
60-
header.write(' if (strcmp(virtual_files[i].path, path) == 0) {\n')
61-
header.write(' *file = virtual_files[i].data;\n')
62-
header.write(' *length = virtual_files[i].length;\n')
63-
header.write(' return true;\n')
60+
header.write(' if(virtual_files[i].path != NULL) {\n')
61+
header.write(' if (strcmp(virtual_files[i].path, path) == 0) {\n')
62+
header.write(' *file = virtual_files[i].data;\n')
63+
header.write(' *length = virtual_files[i].length;\n')
64+
header.write(' return true;\n')
65+
header.write(' }\n')
6466
header.write(' }\n')
6567
header.write(' }\n')
6668
header.write(' return false;\n')

examples/C++/virtual_file_system/vfs.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# Canada.
88
#
99
# WebUI Virtual File System Generator
10-
# v2.0
10+
# v2.1
1111

1212
import os
1313
import sys
@@ -41,7 +41,6 @@ def generate_vfs_header(directory, output_header):
4141
header.write('};\n\n')
4242

4343
header.write('\nstatic const VirtualFile virtual_files[] = {\n')
44-
4544
for i, (relative_path, filepath) in enumerate(files):
4645
with open(filepath, 'rb') as f:
4746
data = f.read()
@@ -50,17 +49,20 @@ def generate_vfs_header(directory, output_header):
5049
header.write(f' FILE_{i},\n')
5150
header.write(f' {len(data)}\n')
5251
header.write(' },\n')
53-
52+
if not files:
53+
header.write(' {NULL, NULL, 0}\n')
5454
header.write('};\n\n')
5555

5656
header.write('static const int virtual_files_count = sizeof(virtual_files) / sizeof(virtual_files[0]);\n\n')
5757

5858
header.write('bool virtual_file_system(const char* path, const unsigned char** file, int* length) {\n')
5959
header.write(' for (int i = 0; i < virtual_files_count; ++i) {\n')
60-
header.write(' if (strcmp(virtual_files[i].path, path) == 0) {\n')
61-
header.write(' *file = virtual_files[i].data;\n')
62-
header.write(' *length = virtual_files[i].length;\n')
63-
header.write(' return true;\n')
60+
header.write(' if(virtual_files[i].path != NULL) {\n')
61+
header.write(' if (strcmp(virtual_files[i].path, path) == 0) {\n')
62+
header.write(' *file = virtual_files[i].data;\n')
63+
header.write(' *length = virtual_files[i].length;\n')
64+
header.write(' return true;\n')
65+
header.write(' }\n')
6466
header.write(' }\n')
6567
header.write(' }\n')
6668
header.write(' return false;\n')

examples/C/react/vfs.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# Canada.
88
#
99
# WebUI Virtual File System Generator
10-
# v2.0
10+
# v2.1
1111

1212
import os
1313
import sys
@@ -41,7 +41,6 @@ def generate_vfs_header(directory, output_header):
4141
header.write('};\n\n')
4242

4343
header.write('\nstatic const VirtualFile virtual_files[] = {\n')
44-
4544
for i, (relative_path, filepath) in enumerate(files):
4645
with open(filepath, 'rb') as f:
4746
data = f.read()
@@ -50,17 +49,20 @@ def generate_vfs_header(directory, output_header):
5049
header.write(f' FILE_{i},\n')
5150
header.write(f' {len(data)}\n')
5251
header.write(' },\n')
53-
52+
if not files:
53+
header.write(' {NULL, NULL, 0}\n')
5454
header.write('};\n\n')
5555

5656
header.write('static const int virtual_files_count = sizeof(virtual_files) / sizeof(virtual_files[0]);\n\n')
5757

5858
header.write('bool virtual_file_system(const char* path, const unsigned char** file, int* length) {\n')
5959
header.write(' for (int i = 0; i < virtual_files_count; ++i) {\n')
60-
header.write(' if (strcmp(virtual_files[i].path, path) == 0) {\n')
61-
header.write(' *file = virtual_files[i].data;\n')
62-
header.write(' *length = virtual_files[i].length;\n')
63-
header.write(' return true;\n')
60+
header.write(' if(virtual_files[i].path != NULL) {\n')
61+
header.write(' if (strcmp(virtual_files[i].path, path) == 0) {\n')
62+
header.write(' *file = virtual_files[i].data;\n')
63+
header.write(' *length = virtual_files[i].length;\n')
64+
header.write(' return true;\n')
65+
header.write(' }\n')
6466
header.write(' }\n')
6567
header.write(' }\n')
6668
header.write(' return false;\n')

examples/C/test_index_redirect/vfs.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# Canada.
88
#
99
# WebUI Virtual File System Generator
10-
# v2.0
10+
# v2.1
1111

1212
import os
1313
import sys
@@ -41,7 +41,6 @@ def generate_vfs_header(directory, output_header):
4141
header.write('};\n\n')
4242

4343
header.write('\nstatic const VirtualFile virtual_files[] = {\n')
44-
4544
for i, (relative_path, filepath) in enumerate(files):
4645
with open(filepath, 'rb') as f:
4746
data = f.read()
@@ -50,17 +49,20 @@ def generate_vfs_header(directory, output_header):
5049
header.write(f' FILE_{i},\n')
5150
header.write(f' {len(data)}\n')
5251
header.write(' },\n')
53-
52+
if not files:
53+
header.write(' {NULL, NULL, 0}\n')
5454
header.write('};\n\n')
5555

5656
header.write('static const int virtual_files_count = sizeof(virtual_files) / sizeof(virtual_files[0]);\n\n')
5757

5858
header.write('bool virtual_file_system(const char* path, const unsigned char** file, int* length) {\n')
5959
header.write(' for (int i = 0; i < virtual_files_count; ++i) {\n')
60-
header.write(' if (strcmp(virtual_files[i].path, path) == 0) {\n')
61-
header.write(' *file = virtual_files[i].data;\n')
62-
header.write(' *length = virtual_files[i].length;\n')
63-
header.write(' return true;\n')
60+
header.write(' if(virtual_files[i].path != NULL) {\n')
61+
header.write(' if (strcmp(virtual_files[i].path, path) == 0) {\n')
62+
header.write(' *file = virtual_files[i].data;\n')
63+
header.write(' *length = virtual_files[i].length;\n')
64+
header.write(' return true;\n')
65+
header.write(' }\n')
6466
header.write(' }\n')
6567
header.write(' }\n')
6668
header.write(' return false;\n')

examples/C/virtual_file_system/vfs.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# Canada.
88
#
99
# WebUI Virtual File System Generator
10-
# v2.0
10+
# v2.1
1111

1212
import os
1313
import sys
@@ -41,7 +41,6 @@ def generate_vfs_header(directory, output_header):
4141
header.write('};\n\n')
4242

4343
header.write('\nstatic const VirtualFile virtual_files[] = {\n')
44-
4544
for i, (relative_path, filepath) in enumerate(files):
4645
with open(filepath, 'rb') as f:
4746
data = f.read()
@@ -50,17 +49,20 @@ def generate_vfs_header(directory, output_header):
5049
header.write(f' FILE_{i},\n')
5150
header.write(f' {len(data)}\n')
5251
header.write(' },\n')
53-
52+
if not files:
53+
header.write(' {NULL, NULL, 0}\n')
5454
header.write('};\n\n')
5555

5656
header.write('static const int virtual_files_count = sizeof(virtual_files) / sizeof(virtual_files[0]);\n\n')
5757

5858
header.write('bool virtual_file_system(const char* path, const unsigned char** file, int* length) {\n')
5959
header.write(' for (int i = 0; i < virtual_files_count; ++i) {\n')
60-
header.write(' if (strcmp(virtual_files[i].path, path) == 0) {\n')
61-
header.write(' *file = virtual_files[i].data;\n')
62-
header.write(' *length = virtual_files[i].length;\n')
63-
header.write(' return true;\n')
60+
header.write(' if(virtual_files[i].path != NULL) {\n')
61+
header.write(' if (strcmp(virtual_files[i].path, path) == 0) {\n')
62+
header.write(' *file = virtual_files[i].data;\n')
63+
header.write(' *length = virtual_files[i].length;\n')
64+
header.write(' return true;\n')
65+
header.write(' }\n')
6466
header.write(' }\n')
6567
header.write(' }\n')
6668
header.write(' return false;\n')

0 commit comments

Comments
 (0)