ScalpiEditor

Diff
Login

Diff

Differences From Artifact [179024c8b2]:

To Artifact [26c35e03e6]:


2849
2850
2851
2852
2853
2854
2855
2856
2857

2858
2859
2860





2861
2862

2863
2864

2865
2866
2867
2868
2869




2870
2871
2872
2873


2874
2875
2876
2877
2878
2879
2880
2881
2882




2883
2884

2885
2886
2887
2888



2889
2890
2891
2892
2893
2894
2895
2896










2897
2898
2899
2900
2901
2902
2903
2904
2905
2906







2907
2908
2909
2910
2911
2912
2913
2914







2915
2916
2917


2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929




























2930

2931
2932
2933
2934
2935
2936
2937
2849
2850
2851
2852
2853
2854
2855

2856
2857



2858
2859
2860
2861
2862
2863

2864
2865

2866
2867




2868
2869
2870
2871
2872



2873
2874

2875







2876
2877
2878
2879


2880
2881
2882


2883
2884
2885
2886

2887





2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898

2899







2900
2901
2902
2903
2904
2905
2906








2907
2908
2909
2910
2911
2912
2913



2914
2915












2916
2917
2918
2919
2920
2921
2922
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
2950
2951
2952







-

+
-
-
-
+
+
+
+
+

-
+

-
+

-
-
-
-
+
+
+
+

-
-
-
+
+
-

-
-
-
-
-
-
-
+
+
+
+
-
-
+


-
-
+
+
+

-

-
-
-
-
-
+
+
+
+
+
+
+
+
+
+

-

-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+







                    ) {
                        size_t hex_pos = data_len << 1;
                        for (size_t data_pos = 0; data_pos < data_len; data_pos++) {
                            hex_pos -= 2;
                            __Hex_fromByte__(&hex[hex_pos], data[data_pos]);
                        }
                    }
                    
            // AP
                // its hex like but use from 'a' to 'p' values for symbols
                // pack
                    // # __FormatsAp_packNibble__
                    size_t __FormatsAp_packNibble__(char* buffer, char data) {
                
                // # __Ap_fromNibble__
                    uint8_t __Ap_fromNibble__(
                        char data
                    ) {
                        if (data <= 16) {
                            *buffer = 'A' + data;
                            return 'A' + data;
                        }
                        return 1;
                        return 0;
                    }
                    // # __FormatsAp_packByte__
                    size_t __FormatsAp_packByte__(
                        char* buffer,
                        char byte
                // # __Ap_fromByte__
                    void __Ap_fromByte__(
                        char  *buffer, // expected len >= 2
                        char  byte
                    ) {
                        size_t writed = 0;
                        writed += __FormatsAp_packNibble__(&buffer[writed], (byte & 0xF0) >> 4);
                        writed += __FormatsAp_packNibble__(&buffer[writed], byte & 0x0F);
                        buffer[0] = __Ap_fromNibble__((byte & 0xF0) >> 4);
                        buffer[1] = __Ap_fromNibble__(byte & 0x0F);
                        return writed;
                    }
                    // # __FormatsAp_packBytes_calculateLen__
                    size_t __FormatsAp_packBytes_calculateLen__(size_t len) {
                        return len * 2;
                    }
                    // # __FormatsAp_packBytes__
                    size_t __FormatsAp_packBytes__(
                        char*    buffer, 
                // # __Ap_fromBytes__
                    void __Ap_fromBytes__(
                        char        *buffer, // expected len >= data_len << 1
                        const char  *data, 
                        char*    data, 
                        size_t   len
                        size_t      data_len
                    ) {
                        size_t writed = 0;
                        for(size_t pos = 0; pos < len; pos++) {
                            writed += __FormatsAp_packByte__(&buffer[writed], data[pos]);
                        for(size_t pos = 0; pos < data_len; pos++) {
                            __Ap_fromByte__(&buffer[writed], data[pos]);
                                writed += 2;
                        }
                        return writed;
                    }
                    // # __FormatsAp_writeToBuffer__
                    size_t __FormatsAp_writeToBuffer__(char buffer[], const char data[], size_t len) {
                        size_t writed = 0;
                        for(size_t pos = 0; pos < len; pos++) {
                            writed += __FormatsAp_packByte__(&buffer[writed], data[pos]);
                // # __Ap_fromBytesReversed__
                    void __Ap_fromBytesReversed__(
                        char        *buffer, // expected len >= data_len << 1
                        const char  *data, 
                        size_t      data_len
                    ) {
                        size_t writed = data_len << 1;
                        for (size_t readed = 0; readed < data_len; readed++) {
                            writed -= 2;
                            __Ap_fromByte__(&buffer[writed], data[readed]);
                        }
                        return writed;
                    }
                // parse
                    // # formats_AP_parseNibble
                        size_t formats_AP_parseNibble(char* buffer, char data) {
                            if (data >= 'A' && data <= 'P') {
                                *buffer = data - 'A';
                            } else if (data >= 'a' && data <= 'p') {
                                *buffer = data - 'a';
                
                // # __Nibble_fromAp__
                    uint8_t __Nibble_fromAp__(char data) {
                        if (data >= 'A' && data <= 'P') { 
                            return data - 'A';
                        } else if (data >= 'a' && data <= 'p') {
                            return data - 'a';
                            } else {
                                *buffer = 0;
                            }
                            return 1;
                        }
                    // # formats_AP_parseByteToBuffer
                        size_t formats_AP_parseByteToBuffer(char out_buffer[], const char* data) {
                            char buffer[2];
                        } 
                        return 0;
                    }
                // # __Byte_fromAp__
                    uint8_t __Byte_fromAp__(
                        const char* data // expected len >= 2
                    ) {
                            size_t writed = 0;
                            writed += formats_AP_parseNibble(&buffer[writed], data[0]);
                            writed += formats_AP_parseNibble(&buffer[writed], data[1]);
                        char fo = __Nibble_fromAp__(data[0]);
                        char of = __Nibble_fromAp__(data[1]);
                            *out_buffer = (buffer[0] << 4) | buffer[1];
                            return 1;
                        }
                    // # formats_AP_parseToBuffer
                        size_t formats_AP_parseToBuffer(char buffer[], const char *ap, size_t ap_len) {
                            size_t writed = 0;
                            size_t readed = 0;
                            while(readed < ap_len) {
                                writed += formats_AP_parseByteToBuffer(&buffer[writed], &ap[readed]);
                                readed += 2;
                            }
                            return writed;
                        return (fo << 4) | of;
                    }
                // # __Bytes_fromAp__
                    void __Bytes_fromAp__(
                        char       *buffer, // expected len >= ap_len >> 1
                        const char *ap,
                        size_t     ap_len
                    ) {
                        size_t readed = 0;
                        size_t writed = 0;
                        while(readed < ap_len) {
                            buffer[writed] = __Byte_fromAp__(&ap[readed]);
                                writed += 1;
                            readed += 2;
                        }
                    }
                // # __Bytes_fromApReversed__
                    void __Bytes_fromApReversed__(
                        char       *buffer, // expected len >= ap_len >> 1
                        const char *ap,
                        size_t     ap_len   // expected >= 2, expected odd
                    ) {
                        size_t ap_pos = ap_len;
                        size_t writed = 0;
                        while (ap_pos > 0) {
                            ap_pos -= 2; // garanty ap_pos < ap_len
                            buffer[writed] = __Byte_fromAp__(&ap[ap_pos]);
                                writed += 1;
                        }
                    }
            // # __u64FromTextDec__ atoi atou
                uint64_t
                __u64FromTextDec__(
                    const char  *bytes, // expected bytes only with numbers from '0' to '9'
                    size_t      len     // expected > 0; expected <= __u64FromTextDec_maxLen__
                ) { 
                    uint64_t result          = 0;