Commit Diff


commit - 1be1539ea802a63e508514d7431e9eaead0b0857
commit + f1ad497719e95974eb7a499b074ccf921ed0d731
blob - 5449077a1c1954df8185811baa974d7b9abd08cf
blob + 56dc33edefd00fead92d15b4f2dbccdc23b0d02b
--- src/cmd/acidtypes/type.c
+++ src/cmd/acidtypes/type.c
@@ -343,6 +343,13 @@ typecmp(Type *t, Type *u)
 	if(i)
 		return i;
 
+	if(t->ty == Aggr){
+		if(t->n > u->n)
+			return -1;
+		if(t->n < u->n)
+			return 1;
+	}
+
 	if(t->name || t->suename)
 		return 0;
 
@@ -445,7 +452,7 @@ ttt=ttt->sub;
 			case Pointer:
 				ttt = defer(tt->sub);
 				if(ttt && ttt->ty == Aggr)
-					Bprint(b, "\tprint(indent, \"%s\t%s(\", addr.%s, \")\\n\");\n",
+					Bprint(b, "\tprint(indent, \"%s\t(%s)\", addr.%s, \"\\n\");\n",
 						name, nameof(ttt, 1), name);
 				else
 					goto base;