@@ -27,17 +27,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
27
27
28
28
let flag = this. read_scalar ( flag_op) ?. to_i32 ( ) ?;
29
29
30
- if flag
31
- != this
32
- . eval_path_scalar ( & [ "libc" , "O_RDONLY" ] ) ?
33
- . unwrap ( )
34
- . to_i32 ( ) ?
35
- && flag
36
- != this
37
- . eval_path_scalar ( & [ "libc" , "O_CLOEXEC" ] ) ?
38
- . unwrap ( )
39
- . to_i32 ( ) ?
40
- {
30
+ if flag != this. eval_libc_i32 ( "O_RDONLY" ) ? && flag != this. eval_libc_i32 ( "O_CLOEXEC" ) ? {
41
31
throw_unsup_format ! ( "Unsupported flag {:#x}" , flag) ;
42
32
}
43
33
@@ -78,28 +68,15 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
78
68
let fd = this. read_scalar ( fd_op) ?. to_i32 ( ) ?;
79
69
let cmd = this. read_scalar ( cmd_op) ?. to_i32 ( ) ?;
80
70
81
- if cmd
82
- == this
83
- . eval_path_scalar ( & [ "libc" , "F_SETFD" ] ) ?
84
- . unwrap ( )
85
- . to_i32 ( ) ?
86
- {
71
+ if cmd == this. eval_libc_i32 ( "F_SETFD" ) ? {
87
72
let flag = this. read_scalar ( arg_op. unwrap ( ) ) ?. to_i32 ( ) ?;
88
73
this. machine . file_handler . flags . insert ( fd, flag) ;
89
74
Ok ( 0 )
90
- } else if cmd
91
- == this
92
- . eval_path_scalar ( & [ "libc" , "F_GETFD" ] ) ?
93
- . unwrap ( )
94
- . to_i32 ( ) ?
95
- {
75
+ } else if cmd == this. eval_libc_i32 ( "F_GETFD" ) ? {
96
76
if let Some ( flag) = this. machine . file_handler . flags . get ( & fd) {
97
77
Ok ( * flag)
98
78
} else {
99
- this. machine . last_error = this
100
- . eval_path_scalar ( & [ "libc" , "EBADF" ] ) ?
101
- . unwrap ( )
102
- . to_u32 ( ) ?;
79
+ this. machine . last_error = this. eval_libc_i32 ( "EBADF" ) ? as u32 ;
103
80
Ok ( -1 )
104
81
}
105
82
} else {
@@ -125,10 +102,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
125
102
}
126
103
}
127
104
} else {
128
- this. machine . last_error = this
129
- . eval_path_scalar ( & [ "libc" , "EBADF" ] ) ?
130
- . unwrap ( )
131
- . to_u32 ( ) ?;
105
+ this. machine . last_error = this. eval_libc_i32 ( "EBADF" ) ? as u32 ;
132
106
Ok ( -1 )
133
107
}
134
108
}
@@ -169,10 +143,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
169
143
}
170
144
}
171
145
} else {
172
- this. machine . last_error = this
173
- . eval_path_scalar ( & [ "libc" , "EBADF" ] ) ?
174
- . unwrap ( )
175
- . to_u32 ( ) ?;
146
+ this. machine . last_error = this. eval_libc_i32 ( "EBADF" ) ? as u32 ;
176
147
Ok ( -1 )
177
148
}
178
149
}
0 commit comments