|
|
@@ -8,7 +8,7 @@
|
|
|
#include <ctype.h>
|
|
|
#include <stdio.h>
|
|
|
|
|
|
-int pkpy_utils__u8len(unsigned char c, bool suppress) {
|
|
|
+int pkpy_utils__u8_header(unsigned char c, bool suppress) {
|
|
|
if((c & 0b10000000) == 0) return 1;
|
|
|
if((c & 0b11100000) == 0b11000000) return 2;
|
|
|
if((c & 0b11110000) == 0b11100000) return 3;
|
|
|
@@ -135,13 +135,13 @@ pkpy_Str pkpy_Str__replace2(const pkpy_Str *self, const pkpy_Str *old, const pkp
|
|
|
int i = pkpy_Str__index(self, old, start);
|
|
|
if(i == -1) break;
|
|
|
pkpy_Str tmp = pkpy_Str__substr2(self, start, i - start);
|
|
|
- c11_vector__extend(char, &buffer, pkpy_Str__data(&tmp), tmp.size);
|
|
|
+ c11_vector__push(char, &buffer, pkpy_Str__data(&tmp), tmp.size);
|
|
|
pkpy_Str__dtor(&tmp);
|
|
|
- c11_vector__extend(char, &buffer, pkpy_Str__data(new_), new_->size);
|
|
|
+ c11_vector__push(char, &buffer, pkpy_Str__data(new_), new_->size);
|
|
|
start = i + old->size;
|
|
|
}
|
|
|
pkpy_Str tmp = pkpy_Str__substr2(self, start, self->size - start);
|
|
|
- c11_vector__extend(char, &buffer, pkpy_Str__data(&tmp), tmp.size);
|
|
|
+ c11_vector__push(char, &buffer, pkpy_Str__data(&tmp), tmp.size);
|
|
|
pkpy_Str__dtor(&tmp);
|
|
|
pkpy_Str retval = {
|
|
|
.size = buffer.count,
|
|
|
@@ -166,7 +166,7 @@ pkpy_Str pkpy_Str__u8_getitem(const pkpy_Str *self, int i){
|
|
|
i = pkpy_Str__unicode_index_to_byte(self, i);
|
|
|
return pkpy_Str__substr2(
|
|
|
self, i,
|
|
|
- pkpy_utils__u8len(pkpy_Str__data(self)[i], false)
|
|
|
+ pkpy_utils__u8_header(pkpy_Str__data(self)[i], false)
|
|
|
);
|
|
|
}
|
|
|
|
|
|
@@ -177,14 +177,14 @@ pkpy_Str pkpy_Str__u8_slice(const pkpy_Str *self, int start, int stop, int step)
|
|
|
if(self->is_ascii){
|
|
|
const char* p = pkpy_Str__data(self);
|
|
|
for (int i=start; step>0 ? i<stop : i>stop; i+=step) {
|
|
|
- c11_vector__push_back(char, &buffer, p[i]);
|
|
|
+ c11_vector__append(char, &buffer, p[i]);
|
|
|
}
|
|
|
}else{
|
|
|
for (int i=start; step>0 ? i<stop : i>stop; i+=step) {
|
|
|
pkpy_Str unicode = pkpy_Str__u8_getitem(self, i);
|
|
|
const char* p = pkpy_Str__data(&unicode);
|
|
|
for(int j = 0; j < unicode.size; j++){
|
|
|
- c11_vector__push_back(char, &buffer, p[j]);
|
|
|
+ c11_vector__append(char, &buffer, p[j]);
|
|
|
}
|
|
|
pkpy_Str__dtor(&unicode);
|
|
|
}
|
|
|
@@ -207,7 +207,7 @@ int pkpy_Str__unicode_index_to_byte(const pkpy_Str* self, int i) {
|
|
|
const char* p = pkpy_Str__data(self);
|
|
|
int j = 0;
|
|
|
while(i > 0) {
|
|
|
- j += pkpy_utils__u8len(p[j], false);
|
|
|
+ j += pkpy_utils__u8_header(p[j], false);
|
|
|
i--;
|
|
|
}
|
|
|
return j;
|