@@ -6,7 +6,7 @@ use super::{IpAddress, MacAddress};
66use crate :: polyfill:: maybe_uninit_slice_as_mut_ptr;
77use crate :: proto:: unsafe_protocol;
88use crate :: util:: ptr_write_unaligned_and_add;
9- use crate :: { CStr8 , Char8 , Result , Status , StatusExt } ;
9+ use crate :: { CStr8 , Result , Status , StatusExt } ;
1010use bitflags:: bitflags;
1111use core:: ffi:: c_void;
1212use core:: fmt:: { self , Debug , Display , Formatter } ;
@@ -15,7 +15,7 @@ use core::mem::MaybeUninit;
1515use core:: ptr:: { self , null, null_mut} ;
1616use ptr_meta:: Pointee ;
1717use uefi_raw:: protocol:: network:: pxe:: PxeBaseCodeTftpOpcode ;
18- use uefi_raw:: Boolean ;
18+ use uefi_raw:: { Boolean , Char8 } ;
1919
2020pub use uefi_raw:: protocol:: network:: pxe:: {
2121 PxeBaseCodeBootType as BootstrapType , PxeBaseCodeIpFilterFlags as IpFilters ,
@@ -162,7 +162,7 @@ impl BaseCode {
162162 & mut buffer_size,
163163 None ,
164164 server_ip. as_raw_ptr ( ) ,
165- filename . as_ptr ( ) ,
165+ cstr8_to_ptr ( filename ) ,
166166 None ,
167167 Boolean :: FALSE ,
168168 )
@@ -193,7 +193,7 @@ impl BaseCode {
193193 & mut buffer_size,
194194 None ,
195195 server_ip. as_raw_ptr ( ) ,
196- filename . as_ptr ( ) ,
196+ cstr8_to_ptr ( filename ) ,
197197 None ,
198198 dont_use_buffer,
199199 )
@@ -221,7 +221,7 @@ impl BaseCode {
221221 & mut buffer_size,
222222 None ,
223223 server_ip. as_raw_ptr ( ) ,
224- filename . as_ptr ( ) ,
224+ cstr8_to_ptr ( filename ) ,
225225 None ,
226226 Boolean :: FALSE ,
227227 )
@@ -249,7 +249,7 @@ impl BaseCode {
249249 & mut buffer_size,
250250 None ,
251251 server_ip. as_raw_ptr ( ) ,
252- directory_name . as_ptr ( ) ,
252+ cstr8_to_ptr ( directory_name ) ,
253253 None ,
254254 Boolean :: FALSE ,
255255 )
@@ -322,7 +322,7 @@ impl BaseCode {
322322 & mut buffer_size,
323323 None ,
324324 server_ip. as_raw_ptr ( ) ,
325- filename . as_ptr ( ) ,
325+ cstr8_to_ptr ( filename ) ,
326326 Some ( info) ,
327327 Boolean :: FALSE ,
328328 )
@@ -354,7 +354,7 @@ impl BaseCode {
354354 & mut buffer_size,
355355 None ,
356356 server_ip. as_raw_ptr ( ) ,
357- filename . as_ptr ( ) ,
357+ cstr8_to_ptr ( filename ) ,
358358 Some ( info) ,
359359 dont_use_buffer,
360360 )
@@ -627,6 +627,11 @@ impl BaseCode {
627627 }
628628}
629629
630+ /// Convert a `&CStr8` to a `*const uefi_raw::Char8`.
631+ const fn cstr8_to_ptr ( s : & CStr8 ) -> * const Char8 {
632+ s. as_ptr ( ) . cast ( )
633+ }
634+
630635/// Convert an `&Option<bool>` to a `*const Boolean`.
631636///
632637/// This is always a valid conversion; `bool` is an 8-bit `0` or `1`.
0 commit comments