aboutsummaryrefslogtreecommitdiffhomepage
path: root/abi0.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2023-06-24 23:40:21 +0200
committerlemon <lsof@mailbox.org>2023-06-24 23:40:21 +0200
commit996b0c08e7300bc68e680593c407e8cd1ef73a69 (patch)
tree9b8030f74f04ca487fd62d3cbfefc63d975c5760 /abi0.c
parentba84ebbd89d1dbe431f71b010b2d71214303ae48 (diff)
abi0: fix agg return by pointer not updating arg count
Diffstat (limited to 'abi0.c')
-rw-r--r--abi0.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/abi0.c b/abi0.c
index a798735..9c0658b 100644
--- a/abi0.c
+++ b/abi0.c
@@ -18,6 +18,7 @@ abiret(struct abiarg abiret[2], struct abiargsvec *abiargs, int *ni, union irtyp
if (retty.isagg) {
retreg = mctarg->abiret(r, cls, ni, retty);
if (!retreg) {
+ ++*ni;
vpush(abiargs, ((struct abiarg) { cls2type(KPTR), .stk = r[1] }));
if (r[0] == -1) {
memset(abiret, 0, 2*sizeof *abiret);