From 85dc46c0366ca07bb2a74cfd514bce70878a2d5a Mon Sep 17 00:00:00 2001 From: Norayr Chilingarian Date: Thu, 8 Oct 2015 20:04:02 +0400 Subject: [PATCH] fixed endless recursion in Stars for inherited imported fie synced with Templ version of Ofront. Former-commit-id: 5afbe2cfbcbdbae9194d609b45ea30aa406a9ac8 --- src/voc/OPC.Mod | 8 ++++++-- vocstatic.linux.gcc.x86_64.REMOVED.git-id | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) 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.REMOVED.git-id b/vocstatic.linux.gcc.x86_64.REMOVED.git-id index 4c874123..ba8364c4 100644 --- a/vocstatic.linux.gcc.x86_64.REMOVED.git-id +++ b/vocstatic.linux.gcc.x86_64.REMOVED.git-id @@ -1 +1 @@ -1bf4f972c6fb10b8b7f3c6613948482a1682528c \ No newline at end of file +ad35921c49d3aae4b67a6aca3f351381b4f9eadb \ No newline at end of file