summary refs log tree commit diff
path: root/load.c
diff options
context:
space:
mode:
Diffstat (limited to 'load.c')
-rw-r--r--load.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/load.c b/load.c
index 5d61a6c..2e10a35 100644
--- a/load.c
+++ b/load.c
@@ -118,7 +118,8 @@ load(Slice sl, bits msk, Loc *l)
 {
 	Alias *a;
 	Ref r, r1;
-	int ld, cls, all, c;
+	int ld, cls, all;
+	Con c;
 
 	ld = (int[]){
 		[1] = Oloadub,
@@ -151,13 +152,11 @@ load(Slice sl, bits msk, Loc *l)
 			break;
 		case ACon:
 		case ASym:
-			c = curf->ncon++;
-			vgrow(&curf->con, curf->ncon);
-			curf->con[c].type = CAddr;
-			curf->con[c].label = a->label;
-			curf->con[c].bits.i = a->offset;
-			curf->con[c].local = 0;
-			r = CON(c);
+			c.type = CAddr;
+			c.label = a->label;
+			c.bits.i = a->offset;
+			c.local = 0;
+			r = newcon(&c, curf);
 			break;
 		}
 	}