Skip to content

Commit 850bae1

Browse files
authored
Rollup merge of rust-lang#67666 - lzutao:ptr-null-cmp, r=dtolnay
make use of pointer::is_null r? @Mark-Simulacrum
2 parents b2a2869 + ef74bc2 commit 850bae1

File tree

8 files changed

+26
-18
lines changed

8 files changed

+26
-18
lines changed

src/libpanic_unwind/emcc.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ pub unsafe fn cleanup(ptr: *mut u8) -> Box<dyn Any + Send> {
6363
pub unsafe fn panic(data: Box<dyn Any + Send>) -> u32 {
6464
let sz = mem::size_of_val(&data);
6565
let exception = __cxa_allocate_exception(sz);
66-
if exception == ptr::null_mut() {
66+
if exception.is_null() {
6767
return uw::_URC_FATAL_PHASE1_ERROR as u32;
6868
}
6969
ptr::write(exception as *mut _, data);

src/libstd/sys/hermit/os.rs

+6-2
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,17 @@ pub fn init_environment(env: *const *const i8) {
7777
unsafe {
7878
ENV = Some(Mutex::new(HashMap::new()));
7979

80+
if env.is_null() {
81+
return;
82+
}
83+
8084
let mut guard = ENV.as_ref().unwrap().lock().unwrap();
8185
let mut environ = env;
82-
while environ != ptr::null() && *environ != ptr::null() {
86+
while !(*environ).is_null() {
8387
if let Some((key, value)) = parse(CStr::from_ptr(*environ).to_bytes()) {
8488
guard.insert(key, value);
8589
}
86-
environ = environ.offset(1);
90+
environ = environ.add(1);
8791
}
8892
}
8993

src/libstd/sys/hermit/thread_local.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ static KEYS_LOCK: Mutex = Mutex::new();
1818
static mut LOCALS: *mut BTreeMap<Key, *mut u8> = ptr::null_mut();
1919

2020
unsafe fn keys() -> &'static mut BTreeMap<Key, Option<Dtor>> {
21-
if KEYS == ptr::null_mut() {
21+
if KEYS.is_null() {
2222
KEYS = Box::into_raw(Box::new(BTreeMap::new()));
2323
}
2424
&mut *KEYS
2525
}
2626

2727
unsafe fn locals() -> &'static mut BTreeMap<Key, *mut u8> {
28-
if LOCALS == ptr::null_mut() {
28+
if LOCALS.is_null() {
2929
LOCALS = Box::into_raw(Box::new(BTreeMap::new()));
3030
}
3131
&mut *LOCALS

src/libstd/sys/sgx/abi/tls.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ impl<'a> Drop for ActiveTls<'a> {
7070
any_non_null_dtor = false;
7171
for (value, dtor) in TLS_KEY_IN_USE.iter().filter_map(&value_with_destructor) {
7272
let value = value.replace(ptr::null_mut());
73-
if value != ptr::null_mut() {
73+
if !value.is_null() {
7474
any_non_null_dtor = true;
7575
unsafe { dtor(value) }
7676
}

src/libstd/sys/unix/os.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -480,11 +480,13 @@ pub fn env() -> Env {
480480
let _guard = env_lock();
481481
let mut environ = *environ();
482482
let mut result = Vec::new();
483-
while environ != ptr::null() && *environ != ptr::null() {
484-
if let Some(key_value) = parse(CStr::from_ptr(*environ).to_bytes()) {
485-
result.push(key_value);
483+
if !environ.is_null() {
484+
while !(*environ).is_null() {
485+
if let Some(key_value) = parse(CStr::from_ptr(*environ).to_bytes()) {
486+
result.push(key_value);
487+
}
488+
environ = environ.add(1);
486489
}
487-
environ = environ.offset(1);
488490
}
489491
return Env { iter: result.into_iter(), _dont_send_or_sync_me: PhantomData };
490492
}

src/libstd/sys/vxworks/os.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -226,15 +226,15 @@ pub fn env() -> Env {
226226
unsafe {
227227
let _guard = env_lock();
228228
let mut environ = *environ();
229-
if environ == ptr::null() {
229+
if environ.is_null() {
230230
panic!("os::env() failure getting env string from OS: {}", io::Error::last_os_error());
231231
}
232232
let mut result = Vec::new();
233-
while *environ != ptr::null() {
233+
while !(*environ).is_null() {
234234
if let Some(key_value) = parse(CStr::from_ptr(*environ).to_bytes()) {
235235
result.push(key_value);
236236
}
237-
environ = environ.offset(1);
237+
environ = environ.add(1);
238238
}
239239
return Env { iter: result.into_iter(), _dont_send_or_sync_me: PhantomData };
240240
}

src/libstd/sys/wasi/os.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,13 @@ pub fn env() -> Env {
107107
let _guard = env_lock();
108108
let mut environ = libc::environ;
109109
let mut result = Vec::new();
110-
while environ != ptr::null_mut() && *environ != ptr::null_mut() {
111-
if let Some(key_value) = parse(CStr::from_ptr(*environ).to_bytes()) {
112-
result.push(key_value);
110+
if !environ.is_null() {
111+
while !(*environ).is_null() {
112+
if let Some(key_value) = parse(CStr::from_ptr(*environ).to_bytes()) {
113+
result.push(key_value);
114+
}
115+
environ = environ.add(1);
113116
}
114-
environ = environ.offset(1);
115117
}
116118
return Env { iter: result.into_iter(), _dont_send_or_sync_me: PhantomData };
117119
}

src/libstd/sys/windows/os.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ pub fn error_string(mut errnum: i32) -> String {
4343
];
4444
module = c::GetModuleHandleW(NTDLL_DLL.as_ptr());
4545

46-
if module != ptr::null_mut() {
46+
if !module.is_null() {
4747
errnum ^= c::FACILITY_NT_BIT as i32;
4848
flags = c::FORMAT_MESSAGE_FROM_HMODULE;
4949
}

0 commit comments

Comments
 (0)