aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vis-registers.c6
-rw-r--r--vis.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/vis-registers.c b/vis-registers.c
index 3e69b13..595bb5b 100644
--- a/vis-registers.c
+++ b/vis-registers.c
@@ -214,6 +214,12 @@ void vis_register(Vis *vis, enum VisRegister reg) {
}
}
+enum VisRegister vis_register_used(Vis *vis) {
+ if (!vis->action.reg)
+ return VIS_REG_DEFAULT;
+ return vis->action.reg - vis->registers;
+}
+
static Register *register_from(Vis *vis, enum VisRegister id) {
if (VIS_REG_A <= id && id <= VIS_REG_Z)
id = VIS_REG_a + id - VIS_REG_A;
diff --git a/vis.h b/vis.h
index 2afa00f..35e9a26 100644
--- a/vis.h
+++ b/vis.h
@@ -749,6 +749,7 @@ enum VisRegister vis_register_from(Vis*, char reg);
* @endrst
*/
void vis_register(Vis*, enum VisRegister);
+enum VisRegister vis_register_used(Vis*);
/** Get register content. */
const char *vis_register_get(Vis*, enum VisRegister, size_t *len);
const char *vis_register_slot_get(Vis*, enum VisRegister, size_t slot, size_t *len);