]> git.sur5r.net Git - cc65/commitdiff
Fixed a bug: Never remember a pointer to a string buffer, since it becomes
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 23 Aug 2011 18:04:25 +0000 (18:04 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 23 Aug 2011 18:04:25 +0000 (18:04 +0000)
invalid when the string buffer gets resized.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5268 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/common/gentype.c

index f676e2b8695223c60c28cfe743297b85e4971ff5..aa1471aa423d4ee495dd67ee574d9e6f0453107f 100644 (file)
@@ -54,7 +54,7 @@ void GT_AddArray (StrBuf* Type, unsigned ArraySize)
     unsigned SizeBytes;
 
     /* Remember the current position */
-    char* A = SB_GetBuf (Type) + SB_GetLen (Type);
+    unsigned Pos = SB_GetLen (Type);
 
     /* Add a dummy array token */
     SB_AppendChar (Type, GT_TYPE_ARRAY);
@@ -68,7 +68,7 @@ void GT_AddArray (StrBuf* Type, unsigned ArraySize)
     } while (ArraySize);
 
     /* Write the correct array token */
-    *A = GT_ARRAY (SizeBytes);
+    SB_GetBuf (Type)[Pos] = GT_ARRAY (SizeBytes);
 }