Saltearse al contenido

sto_erase

Objetos Serializados
  • Parsea un STObject apuntado por read_ptr
  • Escribe un nuevo STObject en write_ptr pero sin el field_id si estaba presente en el objeto original
int64_t sto_erase (
uint32_t write_ptr,
uint32_t write_len,
uint32_t read_ptr,
uint32_t read_len,
uint32_t field_id
);
int64_t result =
sto_erase(tx_out, sizeof(tx_out),
tx_in, tx_len, sfSigners);
if (tx_len <= 0)
rollback("Erasing failed.", 15, 1);
NombreTipoDescripción
write_ptruint32_tBuffer donde se escribirá el STObject modificado
write_lenuint32_tLongitud del buffer de salida
read_ptruint32_tBuffer que contiene el STObject origen
read_lenuint32_tLongitud del objeto origen
field_iduint32_tCódigo sf (posición) del campo a eliminar
TipoDescripción
int64_t

Número de bytes escritos en write_ptr

Si es negativo, error:
OUT_OF_BOUNDS
- punteros fuera de la memoria del hook

TOO_SMALL
- el buffer debe ser al menos tan grande como el objeto origen

TOO_BIG
- el campo a eliminar es demasiado grande

PARSE_ERROR
- el STObject es inválido o mal formado

DOESNT_EXIST
- el field_id no existe en el STObject