mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 19:40:18 +00:00
some fix
This commit is contained in:
parent
72723d24f5
commit
881e94e8b0
@ -34,6 +34,7 @@ c11_vector c11_vector__copy(const c11_vector* self);
|
||||
void c11_vector__reserve(c11_vector* self, int capacity);
|
||||
void c11_vector__clear(c11_vector* self);
|
||||
void* c11_vector__emplace(c11_vector* self);
|
||||
c11_array c11_vector__submit(c11_vector* self);
|
||||
|
||||
#define c11__getitem(T, self, index) (((T*)(self)->data)[index])
|
||||
#define c11__setitem(T, self, index, value) ((T*)(self)->data)[index] = value;
|
||||
|
@ -152,12 +152,13 @@ void pk_SStream__write_any(pk_SStream* self, const char* fmt, const pk_AnyStr* a
|
||||
|
||||
py_Str pk_SStream__submit(pk_SStream* self) {
|
||||
c11_vector__push(char, &self->data, '\0');
|
||||
c11_array a = c11_vector__submit(&self->data);
|
||||
// TODO: optimize c11__isascii
|
||||
py_Str retval = {
|
||||
.size = self->data.count - 1,
|
||||
.is_ascii = c11__isascii((char*)self->data.data, self->data.count),
|
||||
.size = a.count - 1,
|
||||
.is_ascii = c11__isascii((char*)a.data, a.count),
|
||||
.is_sso = false,
|
||||
._ptr = (char*)self->data.data
|
||||
._ptr = (char*)a.data
|
||||
};
|
||||
return retval;
|
||||
}
|
||||
|
@ -62,3 +62,15 @@ void* c11_vector__emplace(c11_vector* self){
|
||||
self->count++;
|
||||
return p;
|
||||
}
|
||||
|
||||
c11_array c11_vector__submit(c11_vector* self){
|
||||
c11_array retval = {
|
||||
.data = self->data,
|
||||
.count = self->count,
|
||||
.elem_size = self->elem_size
|
||||
};
|
||||
self->data = NULL;
|
||||
self->count = 0;
|
||||
self->capacity = 0;
|
||||
return retval;
|
||||
}
|
||||
|
@ -739,12 +739,7 @@ Error* pk_Lexer__process(pk_SourceData_ src, c11_array* out_tokens){
|
||||
}
|
||||
}
|
||||
// set out_tokens
|
||||
*out_tokens = (c11_array){
|
||||
.data = lexer.nexts.data,
|
||||
.count = lexer.nexts.count,
|
||||
.elem_size = lexer.nexts.elem_size
|
||||
};
|
||||
c11_vector__ctor(&lexer.nexts, sizeof(Token));
|
||||
*out_tokens = c11_vector__submit(&lexer.nexts);
|
||||
|
||||
pk_Lexer__dtor(&lexer);
|
||||
return NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user