#pragma once #include "util/membuf.h" #include struct varbuf { struct membuf buf; size_t offset; }; void varbuf_begin(struct varbuf *var); void varbuf_reset(struct varbuf *var); void varbuf_remove_last(struct varbuf *var); struct stack { struct varbuf var; union { struct escpos_mem str; uint8_t num; }; enum stack_type { STACK_STR, STACK_NUM, } type; }; void stack_num(struct stack *stack, const uint8_t base); const struct escpos_mem* stack_get_str(const struct stack *stack); uint8_t stack_get_num(const struct stack *stack);