Skip to content

Commit 01cb75e

Browse files
committed
Code cleanup
1 parent 33eaa7c commit 01cb75e

File tree

12 files changed

+382
-462
lines changed

12 files changed

+382
-462
lines changed

native/src/base/base.cpp

Lines changed: 24 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
#include <sys/types.h>
21
#include <sys/wait.h>
32
#include <sys/prctl.h>
43
#include <sys/mman.h>
54
#include <android/log.h>
6-
#include <fcntl.h>
7-
#include <unistd.h>
5+
#include <linux/fs.h>
86
#include <syscall.h>
9-
#include <random>
10-
#include <string>
117

128
#include <base.hpp>
139
#include <flags.h>
@@ -18,6 +14,12 @@ using namespace std;
1814
#define __call_bypassing_fortify(fn) (&fn)
1915
#endif
2016

17+
#ifdef __LP64__
18+
static_assert(BLKGETSIZE64 == 0x80081272);
19+
#else
20+
static_assert(BLKGETSIZE64 == 0x80041272);
21+
#endif
22+
2123
// Override libc++ new implementation to optimize final build size
2224

2325
void* operator new(std::size_t s) { return std::malloc(s); }
@@ -29,32 +31,19 @@ void* operator new[](std::size_t s, const std::nothrow_t&) noexcept { return std
2931
void operator delete(void *p, const std::nothrow_t&) noexcept { std::free(p); }
3032
void operator delete[](void *p, const std::nothrow_t&) noexcept { std::free(p); }
3133

32-
bool byte_view::contains(byte_view pattern) const {
33-
return _buf != nullptr && memmem(_buf, _sz, pattern._buf, pattern._sz) != nullptr;
34-
}
35-
36-
bool byte_view::operator==(byte_view rhs) const {
37-
return _sz == rhs._sz && memcmp(_buf, rhs._buf, _sz) == 0;
38-
}
39-
40-
void byte_data::swap(byte_data &o) {
41-
std::swap(_buf, o._buf);
42-
std::swap(_sz, o._sz);
43-
}
44-
4534
rust::Vec<size_t> byte_data::patch(byte_view from, byte_view to) const {
4635
rust::Vec<size_t> v;
47-
if (_buf == nullptr)
36+
if (ptr == nullptr)
4837
return v;
49-
auto p = _buf;
50-
auto eof = _buf + _sz;
38+
auto p = ptr;
39+
auto eof = ptr + sz;
5140
while (p < eof) {
5241
p = static_cast<uint8_t *>(memmem(p, eof - p, from.data(), from.size()));
5342
if (p == nullptr)
5443
return v;
5544
memset(p, 0, from.size());
5645
memcpy(p, to.data(), to.size());
57-
v.push_back(p - _buf);
46+
v.push_back(p - ptr);
5847
p += from.size();
5948
}
6049
return v;
@@ -374,30 +363,34 @@ sFILE make_file(FILE *fp) {
374363
mmap_data::mmap_data(const char *name, bool rw) {
375364
auto slice = rust::map_file(name, rw);
376365
if (!slice.empty()) {
377-
_buf = slice.data();
378-
_sz = slice.size();
366+
this->ptr = slice.data();
367+
this->sz = slice.size();
379368
}
380369
}
381370

382371
mmap_data::mmap_data(int dirfd, const char *name, bool rw) {
383372
auto slice = rust::map_file_at(dirfd, name, rw);
384373
if (!slice.empty()) {
385-
_buf = slice.data();
386-
_sz = slice.size();
374+
this->ptr = slice.data();
375+
this->sz = slice.size();
387376
}
388377
}
389378

390379
mmap_data::mmap_data(int fd, size_t sz, bool rw) {
391380
auto slice = rust::map_fd(fd, sz, rw);
392381
if (!slice.empty()) {
393-
_buf = slice.data();
394-
_sz = slice.size();
382+
this->ptr = slice.data();
383+
this->sz = slice.size();
395384
}
396385
}
397386

398387
mmap_data::~mmap_data() {
399-
if (_buf)
400-
munmap(_buf, _sz);
388+
if (ptr) munmap(ptr, sz);
389+
}
390+
391+
void mmap_data::swap(mmap_data &o) {
392+
std::swap(ptr, o.ptr);
393+
std::swap(sz, o.sz);
401394
}
402395

403396
string resolve_preinit_dir(const char *base_dir) {
@@ -420,7 +413,7 @@ extern "C" void cxx$utf8str$new(Utf8CStr *self, const void *s, size_t len);
420413
extern "C" const char *cxx$utf8str$ptr(const Utf8CStr *self);
421414
extern "C" size_t cxx$utf8str$len(const Utf8CStr *self);
422415

423-
Utf8CStr::Utf8CStr(const char *s, size_t len) {
416+
Utf8CStr::Utf8CStr(const char *s, size_t len) : repr{} {
424417
cxx$utf8str$new(this, s, len);
425418
}
426419

native/src/base/cxx_extern.rs

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ use std::fs::File;
44
use std::io::BufReader;
55
use std::mem::ManuallyDrop;
66
use std::ops::DerefMut;
7-
use std::os::fd::{BorrowedFd, FromRawFd, OwnedFd, RawFd};
7+
use std::os::fd::{BorrowedFd, FromRawFd, RawFd};
88

99
use crate::ffi::{FnBoolStr, FnBoolStrStr};
1010
use crate::files::map_file_at;
1111
pub(crate) use crate::xwrap::*;
1212
use crate::{
13-
BufReadExt, Directory, LoggedResult, ResultExt, Utf8CStr, clone_attr, cstr, fclone_attr,
14-
map_fd, map_file, slice_from_ptr,
13+
BufReadExt, ResultExt, Utf8CStr, clone_attr, cstr, fclone_attr, map_fd, map_file,
14+
slice_from_ptr,
1515
};
1616
use cfg_if::cfg_if;
1717
use libc::{c_char, mode_t};
@@ -52,14 +52,6 @@ unsafe extern "C" fn rm_rf_for_cxx(path: *const c_char) -> bool {
5252
}
5353
}
5454

55-
#[unsafe(no_mangle)]
56-
unsafe extern "C" fn frm_rf(fd: OwnedFd) -> bool {
57-
fn inner(fd: OwnedFd) -> LoggedResult<()> {
58-
Directory::try_from(fd)?.remove_all()
59-
}
60-
inner(fd).is_ok()
61-
}
62-
6355
pub(crate) fn map_file_for_cxx(path: &Utf8CStr, rw: bool) -> &'static mut [u8] {
6456
map_file(path, rw).log().unwrap_or(&mut [])
6557
}

native/src/base/files.hpp

Lines changed: 0 additions & 84 deletions
This file was deleted.

0 commit comments

Comments
 (0)