kopia lustrzana https://github.com/micropython/micropython
all: Apply code formatting to new paths.
Run code formatting to apply rules to: * drivers/**/*.[ch] * examples/**/*.[ch] * shared/libc/*.[ch] * shared/readline/*.[ch] Signed-off-by: Phil Howard <phil@gadgetoid.com>
rodzic
18574e4f43
commit
20451850a2
|
@ -57,7 +57,7 @@ static void nibble_write(mp_soft_qspi_obj_t *self, uint8_t v) {
|
|||
}
|
||||
|
||||
static int mp_soft_qspi_ioctl(void *self_in, uint32_t cmd) {
|
||||
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t*)self_in;
|
||||
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t *)self_in;
|
||||
|
||||
switch (cmd) {
|
||||
case MP_QSPI_IOCTL_INIT:
|
||||
|
@ -67,7 +67,7 @@ static int mp_soft_qspi_ioctl(void *self_in, uint32_t cmd) {
|
|||
// Configure pins
|
||||
mp_hal_pin_write(self->clk, 0);
|
||||
mp_hal_pin_output(self->clk);
|
||||
//mp_hal_pin_write(self->clk, 1);
|
||||
// mp_hal_pin_write(self->clk, 1);
|
||||
mp_hal_pin_output(self->io0);
|
||||
mp_hal_pin_input(self->io1);
|
||||
mp_hal_pin_write(self->io2, 1);
|
||||
|
@ -155,20 +155,20 @@ static void mp_soft_qspi_qwrite(mp_soft_qspi_obj_t *self, size_t len, const uint
|
|||
SCK_LOW(self);
|
||||
}
|
||||
|
||||
//mp_hal_pin_input(self->io1);
|
||||
// mp_hal_pin_input(self->io1);
|
||||
}
|
||||
|
||||
static int mp_soft_qspi_write_cmd_data(void *self_in, uint8_t cmd, size_t len, uint32_t data) {
|
||||
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t*)self_in;
|
||||
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t *)self_in;
|
||||
uint32_t cmd_buf = cmd | data << 8;
|
||||
CS_LOW(self);
|
||||
mp_soft_qspi_transfer(self, 1 + len, (uint8_t*)&cmd_buf, NULL);
|
||||
mp_soft_qspi_transfer(self, 1 + len, (uint8_t *)&cmd_buf, NULL);
|
||||
CS_HIGH(self);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mp_soft_qspi_write_cmd_addr_data(void *self_in, uint8_t cmd, uint32_t addr, size_t len, const uint8_t *src) {
|
||||
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t*)self_in;
|
||||
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t *)self_in;
|
||||
uint8_t cmd_buf[5] = {cmd};
|
||||
uint8_t addr_len = mp_spi_set_addr_buff(&cmd_buf[1], addr);
|
||||
CS_LOW(self);
|
||||
|
@ -179,17 +179,17 @@ static int mp_soft_qspi_write_cmd_addr_data(void *self_in, uint8_t cmd, uint32_t
|
|||
}
|
||||
|
||||
static int mp_soft_qspi_read_cmd(void *self_in, uint8_t cmd, size_t len, uint32_t *dest) {
|
||||
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t*)self_in;
|
||||
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t *)self_in;
|
||||
uint32_t cmd_buf = cmd;
|
||||
CS_LOW(self);
|
||||
mp_soft_qspi_transfer(self, 1 + len, (uint8_t*)&cmd_buf, (uint8_t*)&cmd_buf);
|
||||
mp_soft_qspi_transfer(self, 1 + len, (uint8_t *)&cmd_buf, (uint8_t *)&cmd_buf);
|
||||
CS_HIGH(self);
|
||||
*dest = cmd_buf >> 8;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mp_soft_qspi_read_cmd_qaddr_qdata(void *self_in, uint8_t cmd, uint32_t addr, size_t len, uint8_t *dest) {
|
||||
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t*)self_in;
|
||||
mp_soft_qspi_obj_t *self = (mp_soft_qspi_obj_t *)self_in;
|
||||
uint8_t cmd_buf[7] = {cmd};
|
||||
uint8_t addr_len = mp_spi_set_addr_buff(&cmd_buf[1], addr);
|
||||
CS_LOW(self);
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include "drivers/bus/spi.h"
|
||||
|
||||
int mp_soft_spi_ioctl(void *self_in, uint32_t cmd) {
|
||||
mp_soft_spi_obj_t *self = (mp_soft_spi_obj_t*)self_in;
|
||||
mp_soft_spi_obj_t *self = (mp_soft_spi_obj_t *)self_in;
|
||||
|
||||
switch (cmd) {
|
||||
case MP_SPI_IOCTL_INIT:
|
||||
|
@ -45,7 +45,7 @@ int mp_soft_spi_ioctl(void *self_in, uint32_t cmd) {
|
|||
}
|
||||
|
||||
void mp_soft_spi_transfer(void *self_in, size_t len, const uint8_t *src, uint8_t *dest) {
|
||||
mp_soft_spi_obj_t *self = (mp_soft_spi_obj_t*)self_in;
|
||||
mp_soft_spi_obj_t *self = (mp_soft_spi_obj_t *)self_in;
|
||||
uint32_t delay_half = self->delay_half;
|
||||
|
||||
// only MSB transfer is implemented
|
||||
|
|
|
@ -171,7 +171,7 @@ MP_WEAK int esp_hosted_hal_spi_transfer(const uint8_t *tx_buf, uint8_t *rx_buf,
|
|||
// Wait for handshake pin to go high.
|
||||
for (mp_uint_t start = mp_hal_ticks_ms(); ; mp_hal_delay_ms(1)) {
|
||||
if (mp_hal_pin_read(MICROPY_HW_WIFI_HANDSHAKE) &&
|
||||
(rx_buf == NULL || mp_hal_pin_read(MICROPY_HW_WIFI_DATAREADY))) {
|
||||
(rx_buf == NULL || mp_hal_pin_read(MICROPY_HW_WIFI_DATAREADY))) {
|
||||
break;
|
||||
}
|
||||
if ((mp_hal_ticks_ms() - start) >= 1000) {
|
||||
|
|
|
@ -80,51 +80,49 @@ static void esp_hosted_macstr_to_bytes(const uint8_t *mac_str, size_t mac_len, u
|
|||
// to avoid bleeding the protocol buffer API into the public interface, convert esp_hosted_security_t
|
||||
// to/from CtrlWifiSecProt here.
|
||||
|
||||
static esp_hosted_security_t sec_prot_to_hosted_security(CtrlWifiSecProt sec_prot)
|
||||
{
|
||||
static esp_hosted_security_t sec_prot_to_hosted_security(CtrlWifiSecProt sec_prot) {
|
||||
switch (sec_prot) {
|
||||
case CTRL__WIFI_SEC_PROT__Open:
|
||||
return ESP_HOSTED_SEC_OPEN;
|
||||
case CTRL__WIFI_SEC_PROT__WEP:
|
||||
return ESP_HOSTED_SEC_WEP;
|
||||
case CTRL__WIFI_SEC_PROT__WPA_PSK:
|
||||
return ESP_HOSTED_SEC_WPA_PSK;
|
||||
case CTRL__WIFI_SEC_PROT__WPA2_PSK:
|
||||
return ESP_HOSTED_SEC_WPA2_PSK;
|
||||
case CTRL__WIFI_SEC_PROT__WPA_WPA2_PSK:
|
||||
return ESP_HOSTED_SEC_WPA_WPA2_PSK;
|
||||
case CTRL__WIFI_SEC_PROT__WPA2_ENTERPRISE:
|
||||
return ESP_HOSTED_SEC_WPA2_ENTERPRISE;
|
||||
case CTRL__WIFI_SEC_PROT__WPA3_PSK:
|
||||
return ESP_HOSTED_SEC_WPA3_PSK;
|
||||
case CTRL__WIFI_SEC_PROT__WPA2_WPA3_PSK:
|
||||
return ESP_HOSTED_SEC_WPA2_WPA3_PSK;
|
||||
default:
|
||||
return ESP_HOSTED_SEC_INVALID;
|
||||
case CTRL__WIFI_SEC_PROT__Open:
|
||||
return ESP_HOSTED_SEC_OPEN;
|
||||
case CTRL__WIFI_SEC_PROT__WEP:
|
||||
return ESP_HOSTED_SEC_WEP;
|
||||
case CTRL__WIFI_SEC_PROT__WPA_PSK:
|
||||
return ESP_HOSTED_SEC_WPA_PSK;
|
||||
case CTRL__WIFI_SEC_PROT__WPA2_PSK:
|
||||
return ESP_HOSTED_SEC_WPA2_PSK;
|
||||
case CTRL__WIFI_SEC_PROT__WPA_WPA2_PSK:
|
||||
return ESP_HOSTED_SEC_WPA_WPA2_PSK;
|
||||
case CTRL__WIFI_SEC_PROT__WPA2_ENTERPRISE:
|
||||
return ESP_HOSTED_SEC_WPA2_ENTERPRISE;
|
||||
case CTRL__WIFI_SEC_PROT__WPA3_PSK:
|
||||
return ESP_HOSTED_SEC_WPA3_PSK;
|
||||
case CTRL__WIFI_SEC_PROT__WPA2_WPA3_PSK:
|
||||
return ESP_HOSTED_SEC_WPA2_WPA3_PSK;
|
||||
default:
|
||||
return ESP_HOSTED_SEC_INVALID;
|
||||
}
|
||||
}
|
||||
|
||||
static CtrlWifiSecProt hosted_security_to_sec_prot(esp_hosted_security_t hosted_security)
|
||||
{
|
||||
static CtrlWifiSecProt hosted_security_to_sec_prot(esp_hosted_security_t hosted_security) {
|
||||
switch (hosted_security) {
|
||||
case ESP_HOSTED_SEC_OPEN:
|
||||
return CTRL__WIFI_SEC_PROT__Open;
|
||||
case ESP_HOSTED_SEC_WEP:
|
||||
return CTRL__WIFI_SEC_PROT__WEP;
|
||||
case ESP_HOSTED_SEC_WPA_PSK:
|
||||
return CTRL__WIFI_SEC_PROT__WPA_PSK;
|
||||
case ESP_HOSTED_SEC_WPA2_PSK:
|
||||
return CTRL__WIFI_SEC_PROT__WPA2_PSK;
|
||||
case ESP_HOSTED_SEC_WPA_WPA2_PSK:
|
||||
return CTRL__WIFI_SEC_PROT__WPA_WPA2_PSK;
|
||||
case ESP_HOSTED_SEC_WPA2_ENTERPRISE:
|
||||
return CTRL__WIFI_SEC_PROT__WPA2_ENTERPRISE;
|
||||
case ESP_HOSTED_SEC_WPA3_PSK:
|
||||
return CTRL__WIFI_SEC_PROT__WPA3_PSK;
|
||||
case ESP_HOSTED_SEC_WPA2_WPA3_PSK:
|
||||
return CTRL__WIFI_SEC_PROT__WPA2_WPA3_PSK;
|
||||
default:
|
||||
abort(); // Range should be checked by the caller, making this unreachable
|
||||
case ESP_HOSTED_SEC_OPEN:
|
||||
return CTRL__WIFI_SEC_PROT__Open;
|
||||
case ESP_HOSTED_SEC_WEP:
|
||||
return CTRL__WIFI_SEC_PROT__WEP;
|
||||
case ESP_HOSTED_SEC_WPA_PSK:
|
||||
return CTRL__WIFI_SEC_PROT__WPA_PSK;
|
||||
case ESP_HOSTED_SEC_WPA2_PSK:
|
||||
return CTRL__WIFI_SEC_PROT__WPA2_PSK;
|
||||
case ESP_HOSTED_SEC_WPA_WPA2_PSK:
|
||||
return CTRL__WIFI_SEC_PROT__WPA_WPA2_PSK;
|
||||
case ESP_HOSTED_SEC_WPA2_ENTERPRISE:
|
||||
return CTRL__WIFI_SEC_PROT__WPA2_ENTERPRISE;
|
||||
case ESP_HOSTED_SEC_WPA3_PSK:
|
||||
return CTRL__WIFI_SEC_PROT__WPA3_PSK;
|
||||
case ESP_HOSTED_SEC_WPA2_WPA3_PSK:
|
||||
return CTRL__WIFI_SEC_PROT__WPA2_WPA3_PSK;
|
||||
default:
|
||||
abort(); // Range should be checked by the caller, making this unreachable
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -114,7 +114,7 @@ static int mp_spiflash_read_cmd(mp_spiflash_t *self, uint8_t cmd, size_t len, ui
|
|||
if (c->bus_kind == MP_SPIFLASH_BUS_SPI) {
|
||||
mp_hal_pin_write(c->bus.u_spi.cs, 0);
|
||||
c->bus.u_spi.proto->transfer(c->bus.u_spi.data, 1, &cmd, NULL);
|
||||
c->bus.u_spi.proto->transfer(c->bus.u_spi.data, len, (void*)dest, (void*)dest);
|
||||
c->bus.u_spi.proto->transfer(c->bus.u_spi.data, len, (void *)dest, (void *)dest);
|
||||
mp_hal_pin_write(c->bus.u_spi.cs, 1);
|
||||
return 0;
|
||||
} else {
|
||||
|
|
|
@ -24,7 +24,7 @@ static const char *example_2 =
|
|||
"gc.collect()\n"
|
||||
"\n"
|
||||
"print('finish')\n"
|
||||
;
|
||||
;
|
||||
|
||||
// This array is the MicroPython GC heap.
|
||||
static char heap[8 * 1024];
|
||||
|
|
|
@ -41,16 +41,16 @@ void abort_(void) {
|
|||
|
||||
int native_errno;
|
||||
#if defined(__linux__)
|
||||
int *__errno_location (void)
|
||||
int *__errno_location(void)
|
||||
#else
|
||||
int *__errno (void)
|
||||
int *__errno(void)
|
||||
#endif
|
||||
{
|
||||
return &native_errno;
|
||||
}
|
||||
|
||||
ssize_t mp_stream_posix_write(void *stream, const void *buf, size_t len) {
|
||||
mp_obj_base_t* o = stream;
|
||||
mp_obj_base_t *o = stream;
|
||||
const mp_stream_p_t *stream_p = MP_OBJ_TYPE_GET_SLOT(o->type, protocol);
|
||||
mp_uint_t out_sz = stream_p->write(MP_OBJ_FROM_PTR(stream), buf, len, &native_errno);
|
||||
if (out_sz == MP_STREAM_ERROR) {
|
||||
|
@ -61,7 +61,7 @@ ssize_t mp_stream_posix_write(void *stream, const void *buf, size_t len) {
|
|||
}
|
||||
|
||||
ssize_t mp_stream_posix_read(void *stream, void *buf, size_t len) {
|
||||
mp_obj_base_t* o = stream;
|
||||
mp_obj_base_t *o = stream;
|
||||
const mp_stream_p_t *stream_p = MP_OBJ_TYPE_GET_SLOT(o->type, protocol);
|
||||
mp_uint_t out_sz = stream_p->read(MP_OBJ_FROM_PTR(stream), buf, len, &native_errno);
|
||||
if (out_sz == MP_STREAM_ERROR) {
|
||||
|
@ -72,7 +72,7 @@ ssize_t mp_stream_posix_read(void *stream, void *buf, size_t len) {
|
|||
}
|
||||
|
||||
off_t mp_stream_posix_lseek(void *stream, off_t offset, int whence) {
|
||||
const mp_obj_base_t* o = stream;
|
||||
const mp_obj_base_t *o = stream;
|
||||
const mp_stream_p_t *stream_p = MP_OBJ_TYPE_GET_SLOT(o->type, protocol);
|
||||
struct mp_stream_seek_t seek_s;
|
||||
seek_s.offset = offset;
|
||||
|
@ -85,7 +85,7 @@ off_t mp_stream_posix_lseek(void *stream, off_t offset, int whence) {
|
|||
}
|
||||
|
||||
int mp_stream_posix_fsync(void *stream) {
|
||||
mp_obj_base_t* o = stream;
|
||||
mp_obj_base_t *o = stream;
|
||||
const mp_stream_p_t *stream_p = MP_OBJ_TYPE_GET_SLOT(o->type, protocol);
|
||||
mp_uint_t res = stream_p->ioctl(MP_OBJ_FROM_PTR(stream), MP_STREAM_FLUSH, 0, &native_errno);
|
||||
if (res == MP_STREAM_ERROR) {
|
||||
|
@ -126,22 +126,22 @@ mp_obj_t mpy_init(mp_obj_fun_bc_t *self, size_t n_args, size_t n_kw, mp_obj_t *a
|
|||
btree_getiter_iternext.getiter = btree_getiter;
|
||||
btree_getiter_iternext.iternext = btree_iternext;
|
||||
|
||||
btree_type.base.type = (void*)&mp_fun_table.type_type;
|
||||
btree_type.base.type = (void *)&mp_fun_table.type_type;
|
||||
btree_type.flags = MP_TYPE_FLAG_ITER_IS_CUSTOM;
|
||||
btree_type.name = MP_QSTR_btree;
|
||||
MP_OBJ_TYPE_SET_SLOT(&btree_type, print, btree_print, 0);
|
||||
MP_OBJ_TYPE_SET_SLOT(&btree_type, iter, &btree_getiter_iternext, 1);
|
||||
MP_OBJ_TYPE_SET_SLOT(&btree_type, binary_op, btree_binary_op, 2);
|
||||
MP_OBJ_TYPE_SET_SLOT(&btree_type, subscr, btree_subscr, 3);
|
||||
btree_locals_dict_table[0] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_close), MP_OBJ_FROM_PTR(&btree_close_obj) };
|
||||
btree_locals_dict_table[1] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_flush), MP_OBJ_FROM_PTR(&btree_flush_obj) };
|
||||
btree_locals_dict_table[2] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_get), MP_OBJ_FROM_PTR(&btree_get_obj) };
|
||||
btree_locals_dict_table[3] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_put), MP_OBJ_FROM_PTR(&btree_put_obj) };
|
||||
btree_locals_dict_table[4] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_seq), MP_OBJ_FROM_PTR(&btree_seq_obj) };
|
||||
btree_locals_dict_table[5] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_keys), MP_OBJ_FROM_PTR(&btree_keys_obj) };
|
||||
btree_locals_dict_table[6] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_values), MP_OBJ_FROM_PTR(&btree_values_obj) };
|
||||
btree_locals_dict_table[7] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_items), MP_OBJ_FROM_PTR(&btree_items_obj) };
|
||||
MP_OBJ_TYPE_SET_SLOT(&btree_type, locals_dict, (void*)&btree_locals_dict, 4);
|
||||
btree_locals_dict_table[0] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_close), MP_OBJ_FROM_PTR(&btree_close_obj) };
|
||||
btree_locals_dict_table[1] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_flush), MP_OBJ_FROM_PTR(&btree_flush_obj) };
|
||||
btree_locals_dict_table[2] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_get), MP_OBJ_FROM_PTR(&btree_get_obj) };
|
||||
btree_locals_dict_table[3] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_put), MP_OBJ_FROM_PTR(&btree_put_obj) };
|
||||
btree_locals_dict_table[4] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_seq), MP_OBJ_FROM_PTR(&btree_seq_obj) };
|
||||
btree_locals_dict_table[5] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_keys), MP_OBJ_FROM_PTR(&btree_keys_obj) };
|
||||
btree_locals_dict_table[6] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_values), MP_OBJ_FROM_PTR(&btree_values_obj) };
|
||||
btree_locals_dict_table[7] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_items), MP_OBJ_FROM_PTR(&btree_items_obj) };
|
||||
MP_OBJ_TYPE_SET_SLOT(&btree_type, locals_dict, (void *)&btree_locals_dict, 4);
|
||||
|
||||
mp_store_global(MP_QSTR__open, MP_OBJ_FROM_PTR(&btree_open_obj));
|
||||
mp_store_global(MP_QSTR_INCL, MP_OBJ_NEW_SMALL_INT(FLAG_END_KEY_INCL));
|
||||
|
|
|
@ -51,14 +51,14 @@ mp_obj_t mpy_init(mp_obj_fun_bc_t *self, size_t n_args, size_t n_kw, mp_obj_t *a
|
|||
deflateio_type.name = MP_QSTR_DeflateIO;
|
||||
MP_OBJ_TYPE_SET_SLOT(&deflateio_type, make_new, &deflateio_make_new, 0);
|
||||
MP_OBJ_TYPE_SET_SLOT(&deflateio_type, protocol, &deflateio_stream_p, 1);
|
||||
deflateio_locals_dict_table[0] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_read), MP_OBJ_FROM_PTR(&mp_stream_read_obj) };
|
||||
deflateio_locals_dict_table[1] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_readinto), MP_OBJ_FROM_PTR(&mp_stream_readinto_obj) };
|
||||
deflateio_locals_dict_table[2] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_readline), MP_OBJ_FROM_PTR(&mp_stream_unbuffered_readline_obj) };
|
||||
deflateio_locals_dict_table[3] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_write), MP_OBJ_FROM_PTR(&mp_stream_write_obj) };
|
||||
deflateio_locals_dict_table[4] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_close), MP_OBJ_FROM_PTR(&mp_stream_close_obj) };
|
||||
deflateio_locals_dict_table[5] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR___enter__), MP_OBJ_FROM_PTR(&mp_identity_obj) };
|
||||
deflateio_locals_dict_table[6] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR___exit__), MP_OBJ_FROM_PTR(&mp_stream___exit___obj) };
|
||||
MP_OBJ_TYPE_SET_SLOT(&deflateio_type, locals_dict, (void*)&deflateio_locals_dict, 2);
|
||||
deflateio_locals_dict_table[0] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_read), MP_OBJ_FROM_PTR(&mp_stream_read_obj) };
|
||||
deflateio_locals_dict_table[1] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_readinto), MP_OBJ_FROM_PTR(&mp_stream_readinto_obj) };
|
||||
deflateio_locals_dict_table[2] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_readline), MP_OBJ_FROM_PTR(&mp_stream_unbuffered_readline_obj) };
|
||||
deflateio_locals_dict_table[3] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_write), MP_OBJ_FROM_PTR(&mp_stream_write_obj) };
|
||||
deflateio_locals_dict_table[4] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_close), MP_OBJ_FROM_PTR(&mp_stream_close_obj) };
|
||||
deflateio_locals_dict_table[5] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR___enter__), MP_OBJ_FROM_PTR(&mp_identity_obj) };
|
||||
deflateio_locals_dict_table[6] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR___exit__), MP_OBJ_FROM_PTR(&mp_stream___exit___obj) };
|
||||
MP_OBJ_TYPE_SET_SLOT(&deflateio_type, locals_dict, (void *)&deflateio_locals_dict, 2);
|
||||
|
||||
mp_store_global(MP_QSTR___name__, MP_OBJ_NEW_QSTR(MP_QSTR_deflate));
|
||||
mp_store_global(MP_QSTR_DeflateIO, MP_OBJ_FROM_PTR(&deflateio_type));
|
||||
|
|
|
@ -58,12 +58,12 @@ mp_obj_t mpy_init(mp_obj_fun_bc_t *self, size_t n_args, size_t n_kw, mp_obj_t *a
|
|||
MP_DYNRUNTIME_INIT_ENTRY
|
||||
|
||||
// Initialise the type.
|
||||
mp_type_factorial.base.type = (void*)&mp_type_type;
|
||||
mp_type_factorial.base.type = (void *)&mp_type_type;
|
||||
mp_type_factorial.flags = MP_TYPE_FLAG_NONE;
|
||||
mp_type_factorial.name = MP_QSTR_Factorial;
|
||||
MP_OBJ_TYPE_SET_SLOT(&mp_type_factorial, make_new, factorial_make_new, 0);
|
||||
factorial_locals_dict_table[0] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_calculate), MP_OBJ_FROM_PTR(&factorial_calculate_obj) };
|
||||
MP_OBJ_TYPE_SET_SLOT(&mp_type_factorial, locals_dict, (void*)&factorial_locals_dict, 1);
|
||||
factorial_locals_dict_table[0] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_calculate), MP_OBJ_FROM_PTR(&factorial_calculate_obj) };
|
||||
MP_OBJ_TYPE_SET_SLOT(&mp_type_factorial, locals_dict, (void *)&factorial_locals_dict, 1);
|
||||
|
||||
// Make the Factorial type available on the module.
|
||||
mp_store_global(MP_QSTR_Factorial, MP_OBJ_FROM_PTR(&mp_type_factorial));
|
||||
|
|
|
@ -18,22 +18,22 @@ static MP_DEFINE_CONST_DICT(framebuf_locals_dict, framebuf_locals_dict_table);
|
|||
mp_obj_t mpy_init(mp_obj_fun_bc_t *self, size_t n_args, size_t n_kw, mp_obj_t *args) {
|
||||
MP_DYNRUNTIME_INIT_ENTRY
|
||||
|
||||
mp_type_framebuf.base.type = (void*)&mp_type_type;
|
||||
mp_type_framebuf.base.type = (void *)&mp_type_type;
|
||||
mp_type_framebuf.name = MP_QSTR_FrameBuffer;
|
||||
MP_OBJ_TYPE_SET_SLOT(&mp_type_framebuf, make_new, framebuf_make_new, 0);
|
||||
MP_OBJ_TYPE_SET_SLOT(&mp_type_framebuf, buffer, framebuf_get_buffer, 1);
|
||||
framebuf_locals_dict_table[0] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_fill), MP_OBJ_FROM_PTR(&framebuf_fill_obj) };
|
||||
framebuf_locals_dict_table[1] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_fill_rect), MP_OBJ_FROM_PTR(&framebuf_fill_rect_obj) };
|
||||
framebuf_locals_dict_table[2] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_pixel), MP_OBJ_FROM_PTR(&framebuf_pixel_obj) };
|
||||
framebuf_locals_dict_table[3] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_hline), MP_OBJ_FROM_PTR(&framebuf_hline_obj) };
|
||||
framebuf_locals_dict_table[4] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_vline), MP_OBJ_FROM_PTR(&framebuf_vline_obj) };
|
||||
framebuf_locals_dict_table[5] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_rect), MP_OBJ_FROM_PTR(&framebuf_rect_obj) };
|
||||
framebuf_locals_dict_table[6] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_line), MP_OBJ_FROM_PTR(&framebuf_line_obj) };
|
||||
framebuf_locals_dict_table[7] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_ellipse), MP_OBJ_FROM_PTR(&framebuf_ellipse_obj) };
|
||||
framebuf_locals_dict_table[8] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_blit), MP_OBJ_FROM_PTR(&framebuf_blit_obj) };
|
||||
framebuf_locals_dict_table[9] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_scroll), MP_OBJ_FROM_PTR(&framebuf_scroll_obj) };
|
||||
framebuf_locals_dict_table[10] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_text), MP_OBJ_FROM_PTR(&framebuf_text_obj) };
|
||||
MP_OBJ_TYPE_SET_SLOT(&mp_type_framebuf, locals_dict, (void*)&framebuf_locals_dict, 2);
|
||||
framebuf_locals_dict_table[0] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_fill), MP_OBJ_FROM_PTR(&framebuf_fill_obj) };
|
||||
framebuf_locals_dict_table[1] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_fill_rect), MP_OBJ_FROM_PTR(&framebuf_fill_rect_obj) };
|
||||
framebuf_locals_dict_table[2] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_pixel), MP_OBJ_FROM_PTR(&framebuf_pixel_obj) };
|
||||
framebuf_locals_dict_table[3] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_hline), MP_OBJ_FROM_PTR(&framebuf_hline_obj) };
|
||||
framebuf_locals_dict_table[4] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_vline), MP_OBJ_FROM_PTR(&framebuf_vline_obj) };
|
||||
framebuf_locals_dict_table[5] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_rect), MP_OBJ_FROM_PTR(&framebuf_rect_obj) };
|
||||
framebuf_locals_dict_table[6] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_line), MP_OBJ_FROM_PTR(&framebuf_line_obj) };
|
||||
framebuf_locals_dict_table[7] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_ellipse), MP_OBJ_FROM_PTR(&framebuf_ellipse_obj) };
|
||||
framebuf_locals_dict_table[8] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_blit), MP_OBJ_FROM_PTR(&framebuf_blit_obj) };
|
||||
framebuf_locals_dict_table[9] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_scroll), MP_OBJ_FROM_PTR(&framebuf_scroll_obj) };
|
||||
framebuf_locals_dict_table[10] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_text), MP_OBJ_FROM_PTR(&framebuf_text_obj) };
|
||||
MP_OBJ_TYPE_SET_SLOT(&mp_type_framebuf, locals_dict, (void *)&framebuf_locals_dict, 2);
|
||||
|
||||
mp_store_global(MP_QSTR_FrameBuffer, MP_OBJ_FROM_PTR(&mp_type_framebuf));
|
||||
mp_store_global(MP_QSTR_MVLSB, MP_OBJ_NEW_SMALL_INT(FRAMEBUF_MVLSB));
|
||||
|
|
|
@ -12,7 +12,7 @@ uint8_t yasmarang_dat;
|
|||
mp_obj_t mpy_init(mp_obj_fun_bc_t *self, size_t n_args, size_t n_kw, mp_obj_t *args) {
|
||||
MP_DYNRUNTIME_INIT_ENTRY
|
||||
|
||||
yasmarang_pad = 0xeda4baba;
|
||||
yasmarang_pad = 0xeda4baba;
|
||||
yasmarang_n = 69;
|
||||
yasmarang_d = 233;
|
||||
|
||||
|
|
|
@ -52,23 +52,23 @@ mp_obj_t mpy_init(mp_obj_fun_bc_t *self, size_t n_args, size_t n_kw, mp_obj_t *a
|
|||
// Because MP_QSTR_start/end/split are static, xtensa and xtensawin will make a small data section
|
||||
// to copy in this key/value pair if they are specified as a struct, so assign them separately.
|
||||
|
||||
match_type.base.type = (void*)&mp_fun_table.type_type;
|
||||
match_type.base.type = (void *)&mp_fun_table.type_type;
|
||||
match_type.name = MP_QSTR_match;
|
||||
MP_OBJ_TYPE_SET_SLOT(&match_type, print, match_print, 0);
|
||||
match_locals_dict_table[0] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_group), MP_OBJ_FROM_PTR(&match_group_obj) };
|
||||
match_locals_dict_table[1] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_groups), MP_OBJ_FROM_PTR(&match_groups_obj) };
|
||||
match_locals_dict_table[2] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_span), MP_OBJ_FROM_PTR(&match_span_obj) };
|
||||
match_locals_dict_table[3] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_start), MP_OBJ_FROM_PTR(&match_start_obj) };
|
||||
match_locals_dict_table[4] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_end), MP_OBJ_FROM_PTR(&match_end_obj) };
|
||||
MP_OBJ_TYPE_SET_SLOT(&match_type, locals_dict, (void*)&match_locals_dict, 1);
|
||||
match_locals_dict_table[0] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_group), MP_OBJ_FROM_PTR(&match_group_obj) };
|
||||
match_locals_dict_table[1] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_groups), MP_OBJ_FROM_PTR(&match_groups_obj) };
|
||||
match_locals_dict_table[2] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_span), MP_OBJ_FROM_PTR(&match_span_obj) };
|
||||
match_locals_dict_table[3] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_start), MP_OBJ_FROM_PTR(&match_start_obj) };
|
||||
match_locals_dict_table[4] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_end), MP_OBJ_FROM_PTR(&match_end_obj) };
|
||||
MP_OBJ_TYPE_SET_SLOT(&match_type, locals_dict, (void *)&match_locals_dict, 1);
|
||||
|
||||
re_type.base.type = (void*)&mp_fun_table.type_type;
|
||||
re_type.base.type = (void *)&mp_fun_table.type_type;
|
||||
re_type.name = MP_QSTR_re;
|
||||
MP_OBJ_TYPE_SET_SLOT(&re_type, print, re_print, 0);
|
||||
re_locals_dict_table[0] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_match), MP_OBJ_FROM_PTR(&re_match_obj) };
|
||||
re_locals_dict_table[1] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_search), MP_OBJ_FROM_PTR(&re_search_obj) };
|
||||
re_locals_dict_table[2] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_split), MP_OBJ_FROM_PTR(&re_split_obj) };
|
||||
MP_OBJ_TYPE_SET_SLOT(&re_type, locals_dict, (void*)&re_locals_dict, 1);
|
||||
re_locals_dict_table[0] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_match), MP_OBJ_FROM_PTR(&re_match_obj) };
|
||||
re_locals_dict_table[1] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_search), MP_OBJ_FROM_PTR(&re_search_obj) };
|
||||
re_locals_dict_table[2] = (mp_map_elem_t) { MP_OBJ_NEW_QSTR(MP_QSTR_split), MP_OBJ_FROM_PTR(&re_split_obj) };
|
||||
MP_OBJ_TYPE_SET_SLOT(&re_type, locals_dict, (void *)&re_locals_dict, 1);
|
||||
|
||||
mp_store_global(MP_QSTR_compile, MP_OBJ_FROM_PTR(&mod_re_compile_obj));
|
||||
mp_store_global(MP_QSTR_match, MP_OBJ_FROM_PTR(&re_match_obj));
|
||||
|
|
|
@ -79,8 +79,8 @@ static void *m_malloc_bluetooth(size_t size) {
|
|||
return alloc->data;
|
||||
}
|
||||
|
||||
static mp_bluetooth_nimble_malloc_t* get_nimble_malloc(void *ptr) {
|
||||
return (mp_bluetooth_nimble_malloc_t*)((uintptr_t)ptr - sizeof(mp_bluetooth_nimble_malloc_t));
|
||||
static mp_bluetooth_nimble_malloc_t *get_nimble_malloc(void *ptr) {
|
||||
return (mp_bluetooth_nimble_malloc_t *)((uintptr_t)ptr - sizeof(mp_bluetooth_nimble_malloc_t));
|
||||
}
|
||||
|
||||
static void m_free_bluetooth(void *ptr) {
|
||||
|
@ -94,10 +94,10 @@ static void m_free_bluetooth(void *ptr) {
|
|||
MP_STATE_PORT(bluetooth_nimble_memory) = NULL;
|
||||
}
|
||||
m_free(alloc
|
||||
#if MICROPY_MALLOC_USES_ALLOCATED_SIZE
|
||||
, alloc->size
|
||||
#endif
|
||||
);
|
||||
#if MICROPY_MALLOC_USES_ALLOCATED_SIZE
|
||||
, alloc->size
|
||||
#endif
|
||||
);
|
||||
}
|
||||
|
||||
// Check if a nimble ptr is tracked.
|
||||
|
@ -117,7 +117,7 @@ static bool is_valid_nimble_malloc(void *ptr) {
|
|||
|
||||
void *nimble_malloc(size_t size) {
|
||||
DEBUG_MALLOC_printf("NIMBLE malloc(%u)\n", (uint)size);
|
||||
void* ptr = m_malloc_bluetooth(size);
|
||||
void *ptr = m_malloc_bluetooth(size);
|
||||
DEBUG_MALLOC_printf(" --> %p\n", ptr);
|
||||
return ptr;
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ void *nimble_realloc(void *ptr, size_t size);
|
|||
int nimble_sprintf(char *str, const char *fmt, ...);
|
||||
#define sprintf(str, fmt, ...) nimble_sprintf(str, fmt, __VA_ARGS__)
|
||||
|
||||
#define MYNEWT_VAL(x) MYNEWT_VAL_ ## x
|
||||
#define MYNEWT_VAL(x) MYNEWT_VAL_##x
|
||||
|
||||
#define MYNEWT_VAL_LOG_LEVEL (255)
|
||||
|
||||
|
|
|
@ -42,14 +42,14 @@ void *memcpy(void *dst, const void *src, size_t n) {
|
|||
|
||||
if (n & 2) {
|
||||
// copy half-word
|
||||
*(uint16_t*)d = *(const uint16_t*)s;
|
||||
d = (uint32_t*)((uint16_t*)d + 1);
|
||||
s = (const uint32_t*)((const uint16_t*)s + 1);
|
||||
*(uint16_t *)d = *(const uint16_t *)s;
|
||||
d = (uint32_t *)((uint16_t *)d + 1);
|
||||
s = (const uint32_t *)((const uint16_t *)s + 1);
|
||||
}
|
||||
|
||||
if (n & 1) {
|
||||
// copy byte
|
||||
*((uint8_t*)d) = *((const uint8_t*)s);
|
||||
*((uint8_t *)d) = *((const uint8_t *)s);
|
||||
}
|
||||
} else {
|
||||
// unaligned access, copy bytes
|
||||
|
@ -72,10 +72,10 @@ void *__memcpy_chk(void *dest, const void *src, size_t len, size_t slen) {
|
|||
}
|
||||
|
||||
void *memmove(void *dest, const void *src, size_t n) {
|
||||
if (src < dest && (uint8_t*)dest < (const uint8_t*)src + n) {
|
||||
if (src < dest && (uint8_t *)dest < (const uint8_t *)src + n) {
|
||||
// need to copy backwards
|
||||
uint8_t *d = (uint8_t*)dest + n - 1;
|
||||
const uint8_t *s = (const uint8_t*)src + n - 1;
|
||||
uint8_t *d = (uint8_t *)dest + n - 1;
|
||||
const uint8_t *s = (const uint8_t *)src + n - 1;
|
||||
for (; n > 0; n--) {
|
||||
*d-- = *s--;
|
||||
}
|
||||
|
@ -94,11 +94,11 @@ void *memset(void *s, int c, size_t n) {
|
|||
*s32++ = 0;
|
||||
}
|
||||
if (n & 2) {
|
||||
*((uint16_t*)s32) = 0;
|
||||
s32 = (uint32_t*)((uint16_t*)s32 + 1);
|
||||
*((uint16_t *)s32) = 0;
|
||||
s32 = (uint32_t *)((uint16_t *)s32 + 1);
|
||||
}
|
||||
if (n & 1) {
|
||||
*((uint8_t*)s32) = 0;
|
||||
*((uint8_t *)s32) = 0;
|
||||
}
|
||||
} else {
|
||||
uint8_t *s2 = s;
|
||||
|
@ -115,8 +115,11 @@ int memcmp(const void *s1, const void *s2, size_t n) {
|
|||
while (n--) {
|
||||
char c1 = *s1_8++;
|
||||
char c2 = *s2_8++;
|
||||
if (c1 < c2) return -1;
|
||||
else if (c1 > c2) return 1;
|
||||
if (c1 < c2) {
|
||||
return -1;
|
||||
} else if (c1 > c2) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -126,8 +129,9 @@ void *memchr(const void *s, int c, size_t n) {
|
|||
const unsigned char *p = s;
|
||||
|
||||
do {
|
||||
if (*p++ == c)
|
||||
return ((void *)(p - 1));
|
||||
if (*p++ == c) {
|
||||
return (void *)(p - 1);
|
||||
}
|
||||
} while (--n != 0);
|
||||
}
|
||||
return 0;
|
||||
|
@ -145,12 +149,19 @@ int strcmp(const char *s1, const char *s2) {
|
|||
while (*s1 && *s2) {
|
||||
char c1 = *s1++; // XXX UTF8 get char, next char
|
||||
char c2 = *s2++; // XXX UTF8 get char, next char
|
||||
if (c1 < c2) return -1;
|
||||
else if (c1 > c2) return 1;
|
||||
if (c1 < c2) {
|
||||
return -1;
|
||||
} else if (c1 > c2) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if (*s2) {
|
||||
return -1;
|
||||
} else if (*s1) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
if (*s2) return -1;
|
||||
else if (*s1) return 1;
|
||||
else return 0;
|
||||
}
|
||||
|
||||
int strncmp(const char *s1, const char *s2, size_t n) {
|
||||
|
@ -158,13 +169,21 @@ int strncmp(const char *s1, const char *s2, size_t n) {
|
|||
char c1 = *s1++; // XXX UTF8 get char, next char
|
||||
char c2 = *s2++; // XXX UTF8 get char, next char
|
||||
n--;
|
||||
if (c1 < c2) return -1;
|
||||
else if (c1 > c2) return 1;
|
||||
if (c1 < c2) {
|
||||
return -1;
|
||||
} else if (c1 > c2) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if (n == 0) {
|
||||
return 0;
|
||||
} else if (*s2) {
|
||||
return -1;
|
||||
} else if (*s1) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
if (n == 0) return 0;
|
||||
else if (*s2) return -1;
|
||||
else if (*s1) return 1;
|
||||
else return 0;
|
||||
}
|
||||
|
||||
char *strcpy(char *dest, const char *src) {
|
||||
|
@ -179,21 +198,21 @@ char *strcpy(char *dest, const char *src) {
|
|||
// Public Domain implementation of strncpy from:
|
||||
// http://en.wikibooks.org/wiki/C_Programming/Strings#The_strncpy_function
|
||||
char *strncpy(char *s1, const char *s2, size_t n) {
|
||||
char *dst = s1;
|
||||
const char *src = s2;
|
||||
/* Copy bytes, one at a time. */
|
||||
while (n > 0) {
|
||||
n--;
|
||||
if ((*dst++ = *src++) == '\0') {
|
||||
/* If we get here, we found a null character at the end
|
||||
of s2, so use memset to put null bytes at the end of
|
||||
s1. */
|
||||
memset(dst, '\0', n);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return s1;
|
||||
}
|
||||
char *dst = s1;
|
||||
const char *src = s2;
|
||||
/* Copy bytes, one at a time. */
|
||||
while (n > 0) {
|
||||
n--;
|
||||
if ((*dst++ = *src++) == '\0') {
|
||||
/* If we get here, we found a null character at the end
|
||||
of s2, so use memset to put null bytes at the end of
|
||||
s1. */
|
||||
memset(dst, '\0', n);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return s1;
|
||||
}
|
||||
|
||||
// needed because gcc optimises strcpy + strcat to this
|
||||
char *stpcpy(char *dest, const char *src) {
|
||||
|
@ -218,29 +237,31 @@ char *strcat(char *dest, const char *src) {
|
|||
|
||||
// Public Domain implementation of strchr from:
|
||||
// http://en.wikibooks.org/wiki/C_Programming/Strings#The_strchr_function
|
||||
char *strchr(const char *s, int c)
|
||||
{
|
||||
char *strchr(const char *s, int c) {
|
||||
/* Scan s for the character. When this loop is finished,
|
||||
s will either point to the end of the string or the
|
||||
character we were looking for. */
|
||||
while (*s != '\0' && *s != (char)c)
|
||||
while (*s != '\0' && *s != (char)c) {
|
||||
s++;
|
||||
return ((*s == c) ? (char *) s : 0);
|
||||
}
|
||||
return (*s == c) ? (char *)s : 0;
|
||||
}
|
||||
|
||||
|
||||
// Public Domain implementation of strstr from:
|
||||
// http://en.wikibooks.org/wiki/C_Programming/Strings#The_strstr_function
|
||||
char *strstr(const char *haystack, const char *needle)
|
||||
{
|
||||
char *strstr(const char *haystack, const char *needle) {
|
||||
size_t needlelen;
|
||||
/* Check for the null needle case. */
|
||||
if (*needle == '\0')
|
||||
return (char *) haystack;
|
||||
if (*needle == '\0') {
|
||||
return (char *)haystack;
|
||||
}
|
||||
needlelen = strlen(needle);
|
||||
for (; (haystack = strchr(haystack, *needle)) != 0; haystack++)
|
||||
if (strncmp(haystack, needle, needlelen) == 0)
|
||||
return (char *) haystack;
|
||||
for (; (haystack = strchr(haystack, *needle)) != 0; haystack++) {
|
||||
if (strncmp(haystack, needle, needlelen) == 0) {
|
||||
return (char *)haystack;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ enum { ESEQ_NONE, ESEQ_ESC, ESEQ_ESC_BRACKET, ESEQ_ESC_BRACKET_DIGIT, ESEQ_ESC_O
|
|||
#endif
|
||||
|
||||
void readline_init0(void) {
|
||||
memset(MP_STATE_PORT(readline_hist), 0, MICROPY_READLINE_HISTORY_SIZE * sizeof(const char*));
|
||||
memset(MP_STATE_PORT(readline_hist), 0, MICROPY_READLINE_HISTORY_SIZE * sizeof(const char *));
|
||||
}
|
||||
|
||||
static char *str_dup_maybe(const char *str) {
|
||||
|
@ -293,16 +293,16 @@ int readline_process_char(int c) {
|
|||
break;
|
||||
#if MICROPY_REPL_EMACS_WORDS_MOVE
|
||||
case 'b':
|
||||
#if MICROPY_REPL_EMACS_EXTRA_WORDS_MOVE
|
||||
backward_word:
|
||||
#endif
|
||||
#if MICROPY_REPL_EMACS_EXTRA_WORDS_MOVE
|
||||
backward_word:
|
||||
#endif
|
||||
redraw_step_back = cursor_count_word(0);
|
||||
rl.escape_seq = ESEQ_NONE;
|
||||
break;
|
||||
case 'f':
|
||||
#if MICROPY_REPL_EMACS_EXTRA_WORDS_MOVE
|
||||
forward_word:
|
||||
#endif
|
||||
#if MICROPY_REPL_EMACS_EXTRA_WORDS_MOVE
|
||||
forward_word:
|
||||
#endif
|
||||
redraw_step_forward = cursor_count_word(1);
|
||||
rl.escape_seq = ESEQ_NONE;
|
||||
break;
|
||||
|
@ -312,9 +312,9 @@ forward_word:
|
|||
rl.escape_seq = ESEQ_NONE;
|
||||
break;
|
||||
case 127:
|
||||
#if MICROPY_REPL_EMACS_EXTRA_WORDS_MOVE
|
||||
backward_kill_word:
|
||||
#endif
|
||||
#if MICROPY_REPL_EMACS_EXTRA_WORDS_MOVE
|
||||
backward_kill_word:
|
||||
#endif
|
||||
redraw_step_back = cursor_count_word(0);
|
||||
vstr_cut_out_bytes(rl.line, rl.cursor_pos - redraw_step_back, redraw_step_back);
|
||||
redraw_from_cursor = true;
|
||||
|
@ -333,9 +333,9 @@ backward_kill_word:
|
|||
} else {
|
||||
rl.escape_seq = ESEQ_NONE;
|
||||
if (c == 'A') {
|
||||
#if MICROPY_REPL_EMACS_KEYS
|
||||
up_arrow_key:
|
||||
#endif
|
||||
#if MICROPY_REPL_EMACS_KEYS
|
||||
up_arrow_key:
|
||||
#endif
|
||||
// up arrow
|
||||
if (rl.hist_cur + 1 < MICROPY_READLINE_HISTORY_SIZE && MP_STATE_PORT(readline_hist)[rl.hist_cur + 1] != NULL) {
|
||||
// increase hist num
|
||||
|
@ -349,9 +349,9 @@ up_arrow_key:
|
|||
redraw_step_forward = rl.line->len - rl.orig_line_len;
|
||||
}
|
||||
} else if (c == 'B') {
|
||||
#if MICROPY_REPL_EMACS_KEYS
|
||||
down_arrow_key:
|
||||
#endif
|
||||
#if MICROPY_REPL_EMACS_KEYS
|
||||
down_arrow_key:
|
||||
#endif
|
||||
// down arrow
|
||||
if (rl.hist_cur >= 0) {
|
||||
// decrease hist num
|
||||
|
@ -367,17 +367,17 @@ down_arrow_key:
|
|||
redraw_step_forward = rl.line->len - rl.orig_line_len;
|
||||
}
|
||||
} else if (c == 'C') {
|
||||
#if MICROPY_REPL_EMACS_KEYS
|
||||
right_arrow_key:
|
||||
#endif
|
||||
#if MICROPY_REPL_EMACS_KEYS
|
||||
right_arrow_key:
|
||||
#endif
|
||||
// right arrow
|
||||
if (rl.cursor_pos < rl.line->len) {
|
||||
redraw_step_forward = 1;
|
||||
}
|
||||
} else if (c == 'D') {
|
||||
#if MICROPY_REPL_EMACS_KEYS
|
||||
left_arrow_key:
|
||||
#endif
|
||||
#if MICROPY_REPL_EMACS_KEYS
|
||||
left_arrow_key:
|
||||
#endif
|
||||
// left arrow
|
||||
if (rl.cursor_pos > rl.orig_line_len) {
|
||||
redraw_step_back = 1;
|
||||
|
@ -395,16 +395,16 @@ left_arrow_key:
|
|||
} else if (rl.escape_seq == ESEQ_ESC_BRACKET_DIGIT) {
|
||||
if (c == '~') {
|
||||
if (rl.escape_seq_buf[0] == '1' || rl.escape_seq_buf[0] == '7') {
|
||||
home_key:
|
||||
home_key:
|
||||
redraw_step_back = rl.cursor_pos - rl.orig_line_len;
|
||||
} else if (rl.escape_seq_buf[0] == '4' || rl.escape_seq_buf[0] == '8') {
|
||||
end_key:
|
||||
end_key:
|
||||
redraw_step_forward = rl.line->len - rl.cursor_pos;
|
||||
} else if (rl.escape_seq_buf[0] == '3') {
|
||||
// delete
|
||||
#if MICROPY_REPL_EMACS_KEYS
|
||||
delete_key:
|
||||
#endif
|
||||
#if MICROPY_REPL_EMACS_KEYS
|
||||
delete_key:
|
||||
#endif
|
||||
if (rl.cursor_pos < rl.line->len) {
|
||||
vstr_cut_out_bytes(rl.line, rl.cursor_pos, 1);
|
||||
redraw_from_cursor = true;
|
||||
|
@ -448,9 +448,9 @@ delete_key:
|
|||
rl.escape_seq = ESEQ_NONE;
|
||||
}
|
||||
|
||||
#if MICROPY_REPL_EMACS_EXTRA_WORDS_MOVE
|
||||
#if MICROPY_REPL_EMACS_EXTRA_WORDS_MOVE
|
||||
redraw:
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// redraw command prompt, efficiently
|
||||
if (redraw_step_back > 0) {
|
||||
|
|
Ładowanie…
Reference in New Issue