]> Nishi Git Mirror - gwion.git/commitdiff
:bug: Fix ptr access
authorJérémie Astor <astor.jeremie@wanadoo.fr>
Mon, 13 Apr 2020 21:09:13 +0000 (23:09 +0200)
committerJérémie Astor <astor.jeremie@wanadoo.fr>
Mon, 13 Apr 2020 21:09:13 +0000 (23:09 +0200)
src/lib/ptr.c

index 152799a1299795a10a461d16e0c1ab09d66ce6d8..a3483dec79fa7fe67a78b9b2aef6e33398a03ad2 100644 (file)
 #include "parse.h"
 #include "gwi.h"
 
+static m_bool ptr_access(const Env env, const Exp e) {
+  const m_str access = exp_access(e);
+  if(!access)
+    return GW_OK;
+  ERR_B(e->pos, _("operand is %s"), access);
+}
+
 static OP_CHECK(opck_ptr_assign) {
   const Exp_Binary* bin = (Exp_Binary*)data;
-  const m_str access = exp_access(exp_self(bin->rhs));
-  if(access)
-    ERR_N(exp_self(bin)->pos, _("right side operand is %s"), access);
+  CHECK_BO(ptr_access(env, bin->lhs))
+  CHECK_BO(ptr_access(env, bin->rhs))
   exp_setvar(bin->lhs, 1);
   Type t = bin->lhs->info->type;
   do {