From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,939bba6defed3e0d X-Google-Attributes: gid103376,public From: Stephen Arnold Subject: Re: problem solved (and now I know why) Date: 2000/04/14 Message-ID: <38F790EE.2273B508@ensco.com>#1/1 X-Deja-AN: 611286658 Content-Transfer-Encoding: 7bit References: <8d7n1a$ee6@journal.concentric.net> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii Organization: Concentric Internet Services Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 2000-04-14T00:00:00+00:00 List-Id: Well, I've learned alot today :) Thanks to some help from Julian Day (what is your real name anyway?) I figured out my problem (but there's still a problem on the windoze platform...) In my original Remove procedure, I had a call to Clear to clear the list when it only contained a single element. However, after Clear freed the memory for the single list element, and set the list pointers to null, it jumped back to Remove, which tried to free the same memory. Again (not good). So now, with 20-20 hindsight, it's obvious why my code barfed on Linux. That's exactly what it *should've* done. However, one question remains: Why did windoze not catch this problem? My original (and incorrect) code runs just fine on win95, win98, and even NT4 (which my instructor uses). The original code passed his test driver with flying colors, and he tests *everything* (including the Overflow exception). Is there any way for GNAT to catch this at run-time, or is it completely up to the OS? I guess I'll be sticking to Linux from now on... Thanks, Steve