@@ -77,7 +77,7 @@ unsafe fn exec_vm(vmcfg: &VmConfig, rootfs: &str, cmd: &str, args: Vec<CString>)
77
77
}
78
78
79
79
let c_rootfs = CString :: new ( rootfs) . unwrap ( ) ;
80
- let ret = bindings:: krun_set_root ( ctx, c_rootfs. as_ptr ( ) ) ;
80
+ let ret = bindings:: krun_set_root ( ctx, c_rootfs. as_ptr ( ) as * const i8 ) ;
81
81
if ret < 0 {
82
82
println ! ( "Error setting VM rootfs" ) ;
83
83
std:: process:: exit ( -1 ) ;
@@ -92,7 +92,7 @@ unsafe fn exec_vm(vmcfg: &VmConfig, rootfs: &str, cmd: &str, args: Vec<CString>)
92
92
}
93
93
let mut ps: Vec < * const i8 > = Vec :: new ( ) ;
94
94
for port in ports. iter ( ) {
95
- ps. push ( port. as_ptr ( ) ) ;
95
+ ps. push ( port. as_ptr ( ) as * const i8 ) ;
96
96
}
97
97
ps. push ( std:: ptr:: null ( ) ) ;
98
98
let ret = bindings:: krun_set_port_map ( ctx, ps. as_ptr ( ) ) ;
@@ -102,30 +102,35 @@ unsafe fn exec_vm(vmcfg: &VmConfig, rootfs: &str, cmd: &str, args: Vec<CString>)
102
102
}
103
103
104
104
let c_workdir = CString :: new ( vmcfg. workdir . clone ( ) ) . unwrap ( ) ;
105
- let ret = bindings:: krun_set_workdir ( ctx, c_workdir. as_ptr ( ) ) ;
105
+ let ret = bindings:: krun_set_workdir ( ctx, c_workdir. as_ptr ( ) as * const i8 ) ;
106
106
if ret < 0 {
107
107
println ! ( "Error setting VM workdir" ) ;
108
108
std:: process:: exit ( -1 ) ;
109
109
}
110
110
111
111
let mut argv: Vec < * const i8 > = Vec :: new ( ) ;
112
112
for a in args. iter ( ) {
113
- argv. push ( a. as_ptr ( ) ) ;
113
+ argv. push ( a. as_ptr ( ) as * const i8 ) ;
114
114
}
115
115
argv. push ( std:: ptr:: null ( ) ) ;
116
116
117
117
let hostname = CString :: new ( format ! ( "HOSTNAME={}" , vmcfg. name) ) . unwrap ( ) ;
118
118
let home = CString :: new ( "HOME=/root" ) . unwrap ( ) ;
119
119
let path = CString :: new ( "PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin" ) . unwrap ( ) ;
120
120
let env: [ * const i8 ; 4 ] = [
121
- hostname. as_ptr ( ) ,
122
- home. as_ptr ( ) ,
123
- path. as_ptr ( ) ,
121
+ hostname. as_ptr ( ) as * const i8 ,
122
+ home. as_ptr ( ) as * const i8 ,
123
+ path. as_ptr ( ) as * const i8 ,
124
124
std:: ptr:: null ( ) ,
125
125
] ;
126
126
127
127
let c_cmd = CString :: new ( cmd) . unwrap ( ) ;
128
- let ret = bindings:: krun_set_exec ( ctx, c_cmd. as_ptr ( ) , argv. as_ptr ( ) , env. as_ptr ( ) ) ;
128
+ let ret = bindings:: krun_set_exec (
129
+ ctx,
130
+ c_cmd. as_ptr ( ) as * const i8 ,
131
+ argv. as_ptr ( ) as * const * const i8 ,
132
+ env. as_ptr ( ) as * const * const i8 ,
133
+ ) ;
129
134
if ret < 0 {
130
135
println ! ( "Error setting VM config" ) ;
131
136
std:: process:: exit ( -1 ) ;
0 commit comments