diff --git a/src/voc/OPC.Mod b/src/voc/OPC.Mod index 261d0f44..2843f145 100644 --- a/src/voc/OPC.Mod +++ b/src/voc/OPC.Mod @@ -202,9 +202,13 @@ MODULE OPC; (* copyright (c) J. Templ 12.7.95 / 3.7.96 *) OPM.Write(OpenParen); OPM.Write(Star) ELSE pointers := 0; - WHILE (typ^.strobj = NIL) & (typ^.form = Pointer) DO INC (pointers); typ := typ^.BaseTyp END ; - IF (typ^.comp # DynArr) & (pointers # 0) THEN Stars (typ, openClause) END ; + (*WHILE (typ^.strobj = NIL) & (typ^.form = Pointer) DO INC (pointers); typ := typ^.BaseTyp END ; + IF (typ^.comp # DynArr) & (pointers # 0) THEN Stars (typ, openClause) END ;*) + WHILE ((typ^.strobj = NIL) OR (typ^.strobj^.name = "")) & (typ^.form = Pointer) DO + INC (pointers); typ := typ^.BaseTyp + END ; IF pointers > 0 THEN + IF typ^.comp # DynArr THEN Stars (typ, openClause) END ; IF openClause THEN OPM.Write(OpenParen); openClause := FALSE END ; WHILE pointers > 0 DO OPM.Write(Star); DEC (pointers) END END diff --git a/vocstatic.linux.gcc.x86_64 b/vocstatic.linux.gcc.x86_64 index 1bf4f972..ad35921c 100755 Binary files a/vocstatic.linux.gcc.x86_64 and b/vocstatic.linux.gcc.x86_64 differ