]> git.sur5r.net Git - cc65/commitdiff
Syntax change
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 3 Dec 2003 19:51:07 +0000 (19:51 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 3 Dec 2003 19:51:07 +0000 (19:51 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2708 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/ca65/struct.c

index cb757e0a07af3eaf5d6010aff51656010301653f..307171d8a26d188f800af506b3fa0823b6f6ed79 100644 (file)
@@ -73,9 +73,8 @@ static long Member (long AllocSize)
 {
     long Multiplicator;
 
-    /* A comma and a multiplicator may follow */
-    if (Tok == TOK_COMMA) {
-        NextTok ();
+    /* A multiplicator may follow */
+    if (Tok != TOK_SEP) {
         Multiplicator = ConstExpression ();
         if (Multiplicator <= 0) {
             Error ("Range error");
@@ -163,7 +162,11 @@ static long DoStructInternal (long Offs, unsigned Type)
                 break;
 
             case TOK_RES:
-                Error ("Not implemented");
+                if (Tok == TOK_SEP) {
+                    Error ("Size is missing");
+                } else {
+                    MemberSize = Member (1);
+                }
                 break;
 
             case TOK_TAG:
@@ -181,6 +184,7 @@ static long DoStructInternal (long Offs, unsigned Type)
                         MemberSize = GetSymVal (SizeSym);
                     }
                 }
+                MemberSize *= Member (MemberSize);
                 break;
 
             case TOK_STRUCT: