Skip to content

Commit aed348f

Browse files
authored
os: tag some File methods that take voidptr as unsafe - write_bytes, write_bytes_at (#8985)
1 parent 0b3f209 commit aed348f

File tree

4 files changed

+5
-3
lines changed

4 files changed

+5
-3
lines changed

examples/wkhtmltopdf.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ fn main() {
7878
println('ERR: $err')
7979
return
8080
}
81-
wrote := file.write_bytes(data, size)
81+
wrote := unsafe { file.write_bytes(data, size) }
8282
println('write_bytes: $wrote [./google.pdf]')
8383
file.flush()
8484
file.close()

vlib/os/file.c.v

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,12 @@ pub fn (mut f File) write_to(pos int, buf []byte) ?int {
7979
return res
8080
}
8181

82+
[unsafe]
8283
pub fn (mut f File) write_bytes(data voidptr, size int) int {
8384
return int(C.fwrite(data, 1, size, f.cfile))
8485
}
8586

87+
[unsafe]
8688
pub fn (mut f File) write_bytes_at(data voidptr, size int, pos int) int {
8789
C.fseek(f.cfile, pos, C.SEEK_SET)
8890
res := int(C.fwrite(data, 1, size, f.cfile))

vlib/os/os.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ pub fn write_file(path string, text string) ? {
325325
// write_file_array writes the data in `buffer` to a file in `path`.
326326
pub fn write_file_array(path string, buffer array) ? {
327327
mut f := create(path) ?
328-
f.write_bytes_at(buffer.data, (buffer.len * buffer.element_size), 0)
328+
unsafe { f.write_bytes_at(buffer.data, (buffer.len * buffer.element_size), 0) }
329329
f.close()
330330
}
331331

vlib/v/gen/x64/elf.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ pub fn (mut g Gen) generate_elf_footer() {
101101
// Create the binary
102102
mut f := os.create(g.out_name) or { panic(err) }
103103
os.chmod(g.out_name, 0o775) // make it an executable
104-
f.write_bytes(g.buf.data, g.buf.len)
104+
unsafe { f.write_bytes(g.buf.data, g.buf.len) }
105105
f.close()
106106
println('\nx64 elf binary has been successfully generated')
107107
}

0 commit comments

Comments
 (0)