cgen: fix embeds for msvc (fix #10244) (#10259)

* cgen: fix embed file for mvsc

* define struct fields during init

* vfmt

* wrap string in `cestring` to escape properly

Co-authored-by: klawrence <klawrence@netpark.us>
pull/10283/head
KJ Lawrence 2021-05-31 00:50:23 -04:00 committed by GitHub
parent 1343787009
commit 9a5768395d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 2 deletions

View File

@ -61,9 +61,9 @@ fn (mut g Gen) gen_embedded_data() {
g.embedded_data.writeln('')
g.embedded_data.writeln('const v__embed_file__EmbedFileIndexEntry _v_embed_file_index[] = {')
for i, emfile in g.embedded_files {
g.embedded_data.writeln('\t{$i, ${ctoslit(emfile.rpath)}, _v_embed_blob_$i},')
g.embedded_data.writeln('\t{$i, { .str=(byteptr)("${cestring(emfile.rpath)}"), .len=${emfile.rpath.len - 1}, .is_lit=1 }, _v_embed_blob_$i},')
}
g.embedded_data.writeln('\t{-1, _SLIT(""), NULL}')
g.embedded_data.writeln('\t{-1, { .str=(byteptr)(""), .len=0, .is_lit=1 }, NULL}')
g.embedded_data.writeln('};')
// see vlib/v/embed_file/embed_file.v, find_index_entry_by_id/2 and find_index_entry_by_path/2
}