X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com X-Authenticated: #27081556 X-Provags-ID: V01U2FsdGVkX18x5i06IscxOpc4Hz2VW/uXMwkvJ32KcfgxfC3H1K kOvriZHfT5rF8o From: Juan Manuel Guerrero To: Ozkan Sezer Subject: Re: Isues concerning the INT 21 Windows95 - LONG FILENAME FUNCTIONS (0x71XX) implementation. Date: Mon, 26 Sep 2011 22:18:12 +0200 User-Agent: KMail/1.9.10 Cc: djgpp AT delorie DOT com References: <201109260029 DOT 41840 DOT juan DOT guerrero AT gmx DOT de> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Message-Id: <201109262218.12243.juan.guerrero@gmx.de> X-Y-GMX-Trusted: 0 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id p8QKMo29008750 Am Montag, 26. September 2011 schrieb Ozkan Sezer: > On Mon, Sep 26, 2011 at 1:29 AM, Juan Manuel Guerrero > wrote: > > OFYI, I have produced a second version of the patch presented the last time. > > This time the patch shall fix the same issues but for djdev 2.03. > > > > Suggestions, objections, comments are welcome. > > > > > Using gcc-4.4.7, I got two compilation errors, for both v2.03 > and for v2.04 versions of your patches: [snip] > > + �r.x.flags |= 1; �/* Always set CF before calling a 0x71NN function. */ > > First was here: > > cc1: warnings being treated as errors > In file included from lfnshort.c:8: > ../../../../include/fcntl.h: In function '_lfn_gen_short_fname': > lfnshort.c:25: error: 'r' is used uninitialized in this function > lfnshort.c:22: note: 'r' was declared here [snip] > In file included from opendir.c:15: > ../../../../include/dirent.h: In function '_lfn_find_close': > opendir.c:46: error: 'r' is used uninitialized in this function > opendir.c:44: note: 'r' was declared here > make[3]: *** [opendir.o] Error 1 > > In both cases directly setting flags to 1 instead of OR'ing, i.e.: > r.x.flags = 1; /* Always set CF before calling a 0x71NN function. */ > ... cures the flag. Compiler is right, because r is not initialized > and OR'ing a value to a member of it seems wrong. You need > to audit other places like this in your patch. Sorry but I cannot reproduce this. I have checked out the repository today and compiled with gcc 4.6.1 and djdev204 using the patch presented in and it compiles flawlessly. Neitherless, you are right. I will look for the places where CF is set and check that the flags variable is correctly initilized. Regards, Juan M. Guerrero