| ︙ | | | ︙ | |
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
|
// mouse
#define ansi_input_mouse_release __ConsoleAnsi_control__ "?1000l"
#define ansi_input_mouse_grab __ConsoleAnsi_control__ "?1000h"
// settings
#define __ConsoleAnsiOutputSettings_enableLineWrap__ __ConsoleAnsi_control__ "?7h"
#define __ConsoleAnsiOutputSettings_disableLineWrap__ __ConsoleAnsi_control__ "?7l"
#define __NetworkWsQuery_expected__ "GET /ws"
#define __TextCharsDecFromU64_lenMax__ __CText_len__("18446744073709551615")
#define __Base64StandardAlphabet_chars__ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
// # __OsFilePath_separator__
#if __target_os__ == __TargetOs_windows__
#define __OsFilePath_separator__ "\\"
#elif __target_os__ == __TargetOs_linux__
#define __OsFilePath_separator__ "/"
#else
|
<
<
|
619
620
621
622
623
624
625
626
627
628
629
630
631
632
|
// mouse
#define ansi_input_mouse_release __ConsoleAnsi_control__ "?1000l"
#define ansi_input_mouse_grab __ConsoleAnsi_control__ "?1000h"
// settings
#define __ConsoleAnsiOutputSettings_enableLineWrap__ __ConsoleAnsi_control__ "?7h"
#define __ConsoleAnsiOutputSettings_disableLineWrap__ __ConsoleAnsi_control__ "?7l"
#define __Base64StandardAlphabet_chars__ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
// # __OsFilePath_separator__
#if __target_os__ == __TargetOs_windows__
#define __OsFilePath_separator__ "\\"
#elif __target_os__ == __TargetOs_linux__
#define __OsFilePath_separator__ "/"
#else
|
| ︙ | | | ︙ | |
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
|
struct __Console__ console;
struct __Terminal__ terminal;
struct __AppEditor__ editor;
int64_t tick; // time ms
bool working;
};
// function prototypes
void __MemList_init__( struct __MemList__* list);
bool __Mem_isEql__( const char a[], const char b[], size_t len);
size_t __ZText_countLen__( const char text[]);
size_t __Text_countIndent__( char* text, size_t text_len, size_t tab_size);
void __OsFile_truncate__( __OsFileHandle__ file);
void __OsFile_setPos__( __OsFileHandle__ file, size_t pos);
bool __OsFile_exist__( const char* file_name, size_t file_name_len);
bool __OsMem_alloc__( uintptr_t *ret_data_addr, size_t size);
void __OsMem_free__( uintptr_t ret_data_addr);
size_t __OsFallbackConsole_write__( void* unused_ctx, char* data, size_t len);
char __crypto_sumBytes__( const char *data, size_t data_len);
char __crypto_xorBytes__( const char *data, size_t data_len);
void __CryptoScalpiHash_do__( struct __CryptoScalpiHash__ *t, const char *src, size_t src_size, char *dest, size_t dest_size);
void __CryptoScalpiHash_reset__( struct __CryptoScalpiHash__ *t);
// globals
struct __AppEditorViewsVTable__ __AppEditorViewsVtable_flat__;
struct __AppEditorViewsVTable__ __AppEditorViewsVtable_folded__;
struct __App__ __app__;
void *__AppEditorViewsEasyMotionHorizontal_context__;
const struct __AppEditorViewsVTable__ *__AppEditorViewsEasyMotionHorizontalContext_vtable__;
void *__AppEditorViewsEasyMotionVertical_context__;
|
>
>
>
>
>
|
|
|
|
|
|
|
|
|
|
<
<
<
<
|
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
|
struct __Console__ console;
struct __Terminal__ terminal;
struct __AppEditor__ editor;
int64_t tick; // time ms
bool working;
};
// function prototypes
uint8_t __crypto_sumBytes__ ( const char *data, size_t data_len);
uint8_t __crypto_xorBytes__ ( const char *data, size_t data_len);
void __crypto_xorCyclic__ ( char *dest, const char *a, size_t dest_len, const char *b, size_t b_len);
void __CryptoScalpiHash_do__ ( struct __CryptoScalpiHash__ *t, const char *src, size_t src_size, char *dest, size_t dest_size);
void __CryptoScalpiHash_reset__ ( struct __CryptoScalpiHash__ *t);
void __MemList_init__ ( struct __MemList__* list);
bool __Mem_isEql__ ( const char a[], const char b[], size_t len);
size_t __ZText_countLen__ ( const char text[]);
size_t __Text_countIndent__ ( char* text, size_t text_len, size_t tab_size);
void __OsFile_truncate__ ( __OsFileHandle__ file);
void __OsFile_setPos__ ( __OsFileHandle__ file, size_t pos);
bool __OsFile_exist__ ( const char* file_name, size_t file_name_len);
bool __OsMem_alloc__ ( uintptr_t *ret_data_addr, size_t size);
void __OsMem_free__ ( uintptr_t ret_data_addr);
size_t __OsFallbackConsole_write__ ( void* unused_ctx, char* data, size_t len);
// globals
struct __AppEditorViewsVTable__ __AppEditorViewsVtable_flat__;
struct __AppEditorViewsVTable__ __AppEditorViewsVtable_folded__;
struct __App__ __app__;
void *__AppEditorViewsEasyMotionHorizontal_context__;
const struct __AppEditorViewsVTable__ *__AppEditorViewsEasyMotionHorizontalContext_vtable__;
void *__AppEditorViewsEasyMotionVertical_context__;
|
| ︙ | | | ︙ | |
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
|
size_t* out_pos
) {
if (t->pos != t->text.len) {
char *data = &t->text.ptr[t->pos];
size_t data_len = t->text.len - t->pos;
size_t finded = 0;
if ( true
and data_len >= &t->desired.len
and data_len >= t->desired.len
and __Mem_find__(
&finded,
data,
data_len,
t->desired.ptr,
t->desired.len
|
|
|
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
|
size_t* out_pos
) {
if (t->pos != t->text.len) {
char *data = &t->text.ptr[t->pos];
size_t data_len = t->text.len - t->pos;
size_t finded = 0;
if ( true
and t->desired.len > 0
and data_len >= t->desired.len
and __Mem_find__(
&finded,
data,
data_len,
t->desired.ptr,
t->desired.len
|
| ︙ | | | ︙ | |
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
|
list->count -= 1;
}
// # __MemList_init__
void __MemList_init__(
struct __MemList__* list
) {
list->first = NULL;
list->last = NULL;
list->count = 0;
}
// tree
// # __MemTree_isChild__
bool __MemTree_isChild__ (
struct __MemTree__ *tree // expected child
) {
|
|
|
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
|
list->count -= 1;
}
// # __MemList_init__
void __MemList_init__(
struct __MemList__* list
) {
list->first = NULL;
list->last = NULL;
list->count = 0;
}
// tree
// # __MemTree_isChild__
bool __MemTree_isChild__ (
struct __MemTree__ *tree // expected child
) {
|
| ︙ | | | ︙ | |
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
|
void __Bytes_fromHex__(
char* buffer_ptr, // expected len >= hex_len >> 2
char* hex,
size_t hex_len
) {
size_t end_pos = hex_len >> 1;
for(size_t pos = 0; pos < end_pos; pos++) {
char parsed = __Byte_fromHex__(&hex[pos*2]);
buffer_ptr[pos] = parsed;
}
}
// # __HexCapital_fromNibble__
char Hex_packNibble_H(char data) {
if (data <= 9) return '0' + data;
if (data <= 15) return 'A' + data - 10;
return 0;
}
// # __HexCapital_fromByte__
void Hex_packByte_H(char data, char* hex_byte) {
hex_byte[0] = Hex_packNibble_H((data & 0xF0) >> 4);
hex_byte[1] = Hex_packNibble_H(data & 0x0F);
}
// # __HexCapital_fromBytes__
void Hex_pack_H(char* hex, char* data, size_t data_len) {
// expected hex.len is __Hex_lenFromBytesLen__(len)
for(size_t pos = 0; pos < data_len; pos++) {
Hex_packByte_H(data[pos], &hex[pos * 2]);
}
|
<
|
|
|
|
|
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
|
void __Bytes_fromHex__(
char* buffer_ptr, // expected len >= hex_len >> 2
char* hex,
size_t hex_len
) {
size_t end_pos = hex_len >> 1;
for(size_t pos = 0; pos < end_pos; pos++) {
buffer_ptr[pos] = __Byte_fromHex__(&hex[pos*2]);
}
}
// # __HexCapital_fromNibble__
char __HexCapital_fromNibble__(char data) {
if (data <= 9) return '0' + data;
if (data <= 15) return 'A' + data - 10;
return 0;
}
// # __HexCapital_fromByte__
void Hex_packByte_H(char data, char* hex_byte) {
hex_byte[0] = __HexCapital_fromNibble__((data & 0xF0) >> 4);
hex_byte[1] = __HexCapital_fromNibble__(data & 0x0F);
}
// # __HexCapital_fromBytes__
void Hex_pack_H(char* hex, char* data, size_t data_len) {
// expected hex.len is __Hex_lenFromBytesLen__(len)
for(size_t pos = 0; pos < data_len; pos++) {
Hex_packByte_H(data[pos], &hex[pos * 2]);
}
|
| ︙ | | | ︙ | |
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
|
// # __Hex_fromBytes__
void __Hex_fromBytes__(
char *hex, // expected len >= __Hex_lenFromBytesLen__(data_len)
char *data,
size_t data_len
) {
for(size_t pos = 0; pos < data_len; pos++) {
size_t hex_pos = pos << 1;
__Hex_fromByte__(&hex[hex_pos], data[pos]);
}
}
// # __FormatsHex_packBytesReverse__
void __FormatsHex_packBytesReverse__(
char *hex, // expected len >= __Hex_lenFromBytesLen__(data_len)
char *data,
size_t data_len // expected >= 1
|
<
|
|
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
|
// # __Hex_fromBytes__
void __Hex_fromBytes__(
char *hex, // expected len >= __Hex_lenFromBytesLen__(data_len)
char *data,
size_t data_len
) {
for(size_t pos = 0; pos < data_len; pos++) {
__Hex_fromByte__(&hex[pos << 1], data[pos]);
}
}
// # __FormatsHex_packBytesReverse__
void __FormatsHex_packBytesReverse__(
char *hex, // expected len >= __Hex_lenFromBytesLen__(data_len)
char *data,
size_t data_len // expected >= 1
|
| ︙ | | | ︙ | |
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
|
struct __CryptoScalpiHash__ *t
) {
t->mask = 0b00001111;
t->a = 0;
t->b = 0;
}
// # __crypto_sumBytes__
char __crypto_sumBytes__(
const char *data,
size_t data_len
) {
char ret = 0;
for (size_t pos = 0; pos < data_len; pos++) {
ret += data[pos];
}
return ret;
}
// # __crypto_xorBytes__
char __crypto_xorBytes__(
const char *data,
size_t data_len
) {
char ret = 0;
for (size_t pos = 0; pos < data_len; pos++) {
ret ^= data[pos];
}
|
|
|
|
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
|
struct __CryptoScalpiHash__ *t
) {
t->mask = 0b00001111;
t->a = 0;
t->b = 0;
}
// # __crypto_sumBytes__
uint8_t __crypto_sumBytes__(
const char *data,
size_t data_len
) {
char ret = 0;
for (size_t pos = 0; pos < data_len; pos++) {
ret += data[pos];
}
return ret;
}
// # __crypto_xorBytes__
uint8_t __crypto_xorBytes__(
const char *data,
size_t data_len
) {
char ret = 0;
for (size_t pos = 0; pos < data_len; pos++) {
ret ^= data[pos];
}
|
| ︙ | | | ︙ | |