mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-10-15 22:13:11 +00:00
Use our own function to parse int
This commit is contained in:
@@ -83,6 +83,7 @@ int strend(const char *s1, const char *s2);
|
||||
char *rtrim(char *str);
|
||||
void init_argv0(int argc, char **argv);
|
||||
void set_nice_name(const char *name);
|
||||
int parse_int(const char *s);
|
||||
|
||||
#define getline __getline
|
||||
#define getdelim __getdelim
|
||||
@@ -203,6 +204,11 @@ void mmap_rw(const char *filename, B &buf, L &sz) {
|
||||
|
||||
// misc.cpp
|
||||
|
||||
template <class S>
|
||||
int parse_int(S __s) {
|
||||
return parse_int(__s.data());
|
||||
}
|
||||
|
||||
int new_daemon_thread(void *(*start_routine) (void *), void *arg = nullptr,
|
||||
const pthread_attr_t *attr = nullptr);
|
||||
|
||||
|
@@ -230,3 +230,18 @@ char *rtrim(char *str) {
|
||||
str[len] = '\0';
|
||||
return str;
|
||||
}
|
||||
|
||||
/*
|
||||
* Bionic's atoi runs through strtol().
|
||||
* Use our own implementation for faster conversion.
|
||||
*/
|
||||
int parse_int(const char *s) {
|
||||
int val = 0;
|
||||
char c;
|
||||
while ((c = *(s++))) {
|
||||
if (c > '9' || c < '0')
|
||||
return -1;
|
||||
val = val * 10 + c - '0';
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
Reference in New Issue
Block a user