X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fcc65%2Floop.c;h=cb58d126fb92422673f46696ca9ac1220fc3be23;hb=1366b6cbea1b374fa7502354cf2cb8a971f71c5f;hp=ec51dc951050bef86aa2701214c0d1bf8a4abb5c;hpb=53dd513176425872128ef26031d00952ef7a0628;p=cc65 diff --git a/src/cc65/loop.c b/src/cc65/loop.c index ec51dc951..cb58d126f 100644 --- a/src/cc65/loop.c +++ b/src/cc65/loop.c @@ -1,80 +1,102 @@ -/* - * loop.c - * - * Ullrich von Bassewitz, 20.06.1998 - */ +/*****************************************************************************/ +/* */ +/* loop.c */ +/* */ +/* Loop management */ +/* */ +/* */ +/* */ +/* (C) 1998-2000 Ullrich von Bassewitz */ +/* Wacholderweg 14 */ +/* D-70597 Stuttgart */ +/* EMail: uz@musoftware.de */ +/* */ +/* */ +/* This software is provided 'as-is', without any expressed or implied */ +/* warranty. In no event will the authors be held liable for any damages */ +/* arising from the use of this software. */ +/* */ +/* Permission is granted to anyone to use this software for any purpose, */ +/* including commercial applications, and to alter it and redistribute it */ +/* freely, subject to the following restrictions: */ +/* */ +/* 1. The origin of this software must not be misrepresented; you must not */ +/* claim that you wrote the original software. If you use this software */ +/* in a product, an acknowledgment in the product documentation would be */ +/* appreciated but is not required. */ +/* 2. Altered source versions must be plainly marked as such, and must not */ +/* be misrepresented as being the original software. */ +/* 3. This notice may not be removed or altered from any source */ +/* distribution. */ +/* */ +/*****************************************************************************/ + +/* common */ +#include "xmalloc.h" +/* cc65 */ #include "error.h" -#include "mem.h" #include "loop.h" /*****************************************************************************/ -/* data */ +/* Data */ /*****************************************************************************/ /* The root */ -static struct loopdesc* loopstack = 0; +static LoopDesc* LoopStack = 0; /*****************************************************************************/ -/* code */ +/* Code */ /*****************************************************************************/ -struct loopdesc* addloop (unsigned sp, unsigned loop, unsigned label, - unsigned linc, unsigned lstat) +LoopDesc* AddLoop (unsigned sp, unsigned loop, unsigned label, + unsigned linc, unsigned lstat) /* Create and add a new loop descriptor */ { - struct loopdesc* l; - /* Allocate a new struct */ - l = xmalloc (sizeof (struct loopdesc)); + LoopDesc* L = (LoopDesc*) xmalloc (sizeof (LoopDesc)); /* Fill in the data */ - l->sp = sp; - l->loop = loop; - l->label = label; - l->linc = linc; - l->lstat = lstat; + L->StackPtr = sp; + L->Loop = loop; + L->Label = label; + L->linc = linc; + L->lstat = lstat; /* Insert it into the list */ - l->next = loopstack; - loopstack = l; + L->Next = LoopStack; + LoopStack = L; /* Return a pointer to the struct */ - return l; + return L; } -struct loopdesc* currentloop (void) +LoopDesc* CurrentLoop (void) /* Return a pointer to the descriptor of the current loop */ { - if (loopstack == 0) { - /* Stack is empty */ - Error (ERR_NO_ACTIVE_LOOP); - } - return loopstack; + return LoopStack; } -void delloop (void) +void DelLoop (void) /* Remove the current loop */ { - struct loopdesc* l; - - l = loopstack; - loopstack = loopstack->next; - xfree (l); + LoopDesc* L = LoopStack; + LoopStack = LoopStack->Next; + xfree (L); }