Linux premium180.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
LiteSpeed
: 162.0.209.168 | : 216.73.216.187
Cant Read [ /etc/named.conf ]
8.3.30
nortrmdp
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
opt /
alt /
php81 /
usr /
include /
php /
ext /
swoole /
include /
[ HOME SHELL ]
Name
Size
Permission
Action
swoole.h
22.85
KB
-rw-r--r--
swoole_api.h
3.39
KB
-rw-r--r--
swoole_asm_context.h
1.76
KB
-rw-r--r--
swoole_async.h
3.7
KB
-rw-r--r--
swoole_atomic.h
2.15
KB
-rw-r--r--
swoole_base64.h
1.29
KB
-rw-r--r--
swoole_buffer.h
2.28
KB
-rw-r--r--
swoole_c_api.h
2.19
KB
-rw-r--r--
swoole_channel.h
2.34
KB
-rw-r--r--
swoole_client.h
8.41
KB
-rw-r--r--
swoole_config.h
8.84
KB
-rw-r--r--
swoole_coroutine.h
8.96
KB
-rw-r--r--
swoole_coroutine_c_api.h
4.9
KB
-rw-r--r--
swoole_coroutine_channel.h
4.18
KB
-rw-r--r--
swoole_coroutine_context.h
2.59
KB
-rw-r--r--
swoole_coroutine_socket.h
18.85
KB
-rw-r--r--
swoole_coroutine_system.h
3.48
KB
-rw-r--r--
swoole_dtls.h
2.41
KB
-rw-r--r--
swoole_error.h
5.85
KB
-rw-r--r--
swoole_file.h
4.09
KB
-rw-r--r--
swoole_file_hook.h
2.86
KB
-rw-r--r--
swoole_hash.h
9.69
KB
-rw-r--r--
swoole_heap.h
1.79
KB
-rw-r--r--
swoole_http.h
6.99
KB
-rw-r--r--
swoole_http2.h
8.38
KB
-rw-r--r--
swoole_lock.h
2.64
KB
-rw-r--r--
swoole_log.h
15.72
KB
-rw-r--r--
swoole_lru_cache.h
3.17
KB
-rw-r--r--
swoole_memory.h
2.75
KB
-rw-r--r--
swoole_message_bus.h
5.53
KB
-rw-r--r--
swoole_mime_type.h
1.44
KB
-rw-r--r--
swoole_mqtt.h
2.18
KB
-rw-r--r--
swoole_msg_queue.h
1.92
KB
-rw-r--r--
swoole_pipe.h
2.64
KB
-rw-r--r--
swoole_process_pool.h
8.88
KB
-rw-r--r--
swoole_protocol.h
5.32
KB
-rw-r--r--
swoole_proxy.h
2.14
KB
-rw-r--r--
swoole_reactor.h
11.25
KB
-rw-r--r--
swoole_redis.h
2.09
KB
-rw-r--r--
swoole_server.h
39.62
KB
-rw-r--r--
swoole_signal.h
1.68
KB
-rw-r--r--
swoole_socket.h
17.61
KB
-rw-r--r--
swoole_socket_hook.h
2.23
KB
-rw-r--r--
swoole_ssl.h
4.94
KB
-rw-r--r--
swoole_static_handler.h
4.7
KB
-rw-r--r--
swoole_string.h
8.06
KB
-rw-r--r--
swoole_table.h
7.35
KB
-rw-r--r--
swoole_timer.h
4.05
KB
-rw-r--r--
swoole_util.h
5.58
KB
-rw-r--r--
swoole_version.h
2.21
KB
-rw-r--r--
swoole_websocket.h
4.53
KB
-rw-r--r--
swoole_wheel_timer.h
2.48
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : swoole_string.h
/* +----------------------------------------------------------------------+ | Swoole | +----------------------------------------------------------------------+ | This source file is subject to version 2.0 of the Apache license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.apache.org/licenses/LICENSE-2.0.html | | If you did not receive a copy of the Apache2.0 license and are unable| | to obtain it through the world-wide-web, please send a note to | | license@swoole.com so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Tianfeng Han <rango@swoole.com> | | Twosee <twose@qq.com> | +----------------------------------------------------------------------+ */ #pragma once #include "swoole.h" #include <string> #define SW_STRINGL(s) s->str, s->length #define SW_STRINGS(s) s->str, s->size #define SW_STRINGCVL(s) s->str + s->offset, s->length - s->offset namespace swoole { typedef std::function<bool(const char *, size_t)> StringExplodeHandler; class String { private: void alloc(size_t _size, const Allocator *_allocator) { if (_allocator == nullptr) { _allocator = sw_std_allocator(); } _size = SW_MEM_ALIGNED_SIZE(_size); length = 0; size = _size; offset = 0; str = (char *) _allocator->malloc(_size); allocator = _allocator; if (str == nullptr) { throw std::bad_alloc(); } } void move(String &&src) { str = src.str; length = src.length; offset = src.offset; size = src.size; allocator = src.allocator; src.str = nullptr; src.length = 0; src.size = 0; src.offset = 0; } public: size_t length; size_t size; off_t offset; char *str; const Allocator *allocator; String() { length = size = offset = 0; str = nullptr; allocator = nullptr; } explicit String(size_t _size, const Allocator *_allocator = nullptr) { alloc(_size, _allocator); } String(const char *_str, size_t _length) { alloc(_length + 1, nullptr); memcpy(str, _str, _length); str[_length] = '\0'; length = _length; } String(const std::string &_str) : String(_str.c_str(), _str.length()) {} String(String &_str) { alloc(_str.size, _str.allocator); memcpy(_str.str, str, _str.length); length = _str.length; offset = _str.offset; } String(String &&src) { move(std::move(src)); } String &operator=(String &src) { if (&src == this) { return *this; } if (allocator && str) { allocator->free(str); } alloc(src.size, src.allocator); memcpy(src.str, str, src.length); length = src.length; offset = src.offset; return *this; } String &operator=(String &&src) { if (&src == this) { return *this; } if (allocator && str) { allocator->free(str); } move(std::move(src)); return *this; } ~String() { if (allocator && str) { allocator->free(str); } } char *value() { return str; } size_t get_length() { return length; } size_t capacity() { return size; } std::string to_std_string() { return std::string(str, length); } bool contains(const char *needle, size_t l_needle) { return swoole_strnstr(str, length, needle, l_needle) != nullptr; } bool contains(const std::string &needle) { return contains(needle.c_str(), needle.size()); } bool grow(size_t incr_value) { length += incr_value; if (length == size && !reserve(size * 2)) { return false; } else { return true; } } String *substr(size_t offset, size_t len) { if (offset + len > length) { return nullptr; } auto _substr = new String(len); _substr->append(str + offset, len); return _substr; } bool empty() { return str == nullptr || length == 0; } void clear() { length = 0; offset = 0; } bool extend() { return extend(size * 2); } bool extend(size_t new_size) { assert(new_size > size); return reserve(new_size); } bool extend_align(size_t _new_size) { size_t align_size = SW_MEM_ALIGNED_SIZE(size * 2); while (align_size < _new_size) { align_size *= 2; } return reserve(align_size); } bool reserve(size_t new_size); bool repeat(const char *data, size_t len, size_t n); int append(const char *append_str, size_t length); int append(const std::string &append_str) { return append(append_str.c_str(), append_str.length()); } int append(char c) { return append(&c, sizeof(c)); } int append(const String &append_str) { size_t new_size = length + append_str.length; if (new_size > size) { if (!reserve(new_size)) { return SW_ERR; } } memcpy(str + length, append_str.str, append_str.length); length += append_str.length; return SW_OK; } void write(off_t _offset, String *write_str) { size_t new_length = _offset + write_str->length; if (new_length > size) { reserve(swoole_size_align(new_length * 2, swoole_pagesize())); } memcpy(str + _offset, write_str->str, write_str->length); if (new_length > length) { length = new_length; } } void write(off_t _offset, const char *write_str, size_t _length) { size_t new_length = _offset + _length; if (new_length > size) { reserve(swoole_size_align(new_length * 2, swoole_pagesize())); } memcpy(str + _offset, write_str, _length); if (new_length > length) { length = new_length; } } int append(int value); ssize_t split(const char *delimiter, size_t delimiter_length, const StringExplodeHandler &handler); int append_random_bytes(size_t length, bool base64 = false); void print(bool print_value = true); enum FormatFlag { FORMAT_APPEND = 1 << 0, FORMAT_GROW = 1 << 1, }; template <typename... Args> size_t format_impl(int flags, const char *format, Args... args) { size_t _size = sw_snprintf(nullptr, 0, format, args...); if (_size == 0) { return 0; } // store \0 terminator _size++; size_t new_size = (flags & FORMAT_APPEND) ? length + _size : _size; if (flags & FORMAT_GROW) { size_t align_size = SW_MEM_ALIGNED_SIZE(size * 2); while (align_size < new_size) { align_size *= 2; } new_size = align_size; } size_t n; if (flags & FORMAT_APPEND) { if (_size > size - length && !reserve(new_size)) { return 0; } n = sw_snprintf(str + length, size - length, format, args...); length += n; } else { if (_size > size && !reserve(new_size)) { return 0; } n = sw_snprintf(str, size, format, args...); length = n; } return n; } template <typename... Args> size_t format(const char *format, Args... args) { return format_impl(0, format, args...); } char *pop(size_t init_size); void reduce(off_t offset); }; inline String *make_string(size_t size, const Allocator *allocator = nullptr) { return new String(size, allocator); } } // namespace swoole
Close