X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f X-Recipient: djgpp-workers AT delorie DOT com X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Date: Fri, 18 May 2018 09:09:55 +0300 Message-Id: <83muwxijf0.fsf@gnu.org> From: "Eli Zaretskii (eliz AT gnu DOT org) [via djgpp-workers AT delorie DOT com]" To: djgpp-workers AT delorie DOT com In-reply-to: <5AFDE635.9030405@gmx.de> (djgpp-workers@delorie.com) Subject: Re: DJGPP on NTF with SFN creating disabled [was : gcc-8.1.0 packages for testing] References: <0244cff9-6176-8aec-bbc2-6fc49602c295 AT iki DOT fi> <558b5ff2-71df-e556-a874-7acbb264c84a AT iki DOT fi> <5AED9B44 DOT 90000 AT gmx DOT de> <5AEF5D3A DOT 2030409 AT gmx DOT de> <3569b441-e678-7252-ffdd-7c45f72a5c56 AT iki DOT fi> <5AFDE635 DOT 9030405 AT gmx DOT de> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Date: Thu, 17 May 2018 22:29:41 +0200 > From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp-workers AT delorie DOT com]" > > I have checked very carefully all LFN functions that use function 0x71NN > and there are no pending issues. The proposed patch fully fixes the issue > and has no side effects at all. This means that all functions: open, close, > rename and unlink do flawlessly work when no SFN is available. This is true > for Win2K and WinXP. I have no chance to check exFAT nor other OSs like > Vista and above. I am aware that I have claimed that there were still some > pending issues, but that was not true. It was a bug in my test program. > If no one rises really serious objections I will commite the patch below > in a couple of hours. It makes no sense to wait more time to fix this issue. Thank you for working on this. > The issue concerning the call of the system function is something completely > different and cannot be fixed at all. In the end, the call of system() > issues a call of INT21 0x4B00. One of the arguments passed to function > 0x4B00 is the full path of the program to be started and this path and the > file name must be a valid DOS path and file name. This means that the file > name must be a valid 8.3 file name and the path length is not allowed to > exceed the max. length of a DOS path (IIRC 64 characters). So you are saying that on a system where SFN is disabled, DJGPP will be unable to start programs whose executable file names don't match the DOS SFN limitations, is that true? Then it follows that DJGPP will be much less useful on such systems, and will be confined to directories whose names fit those limitations. One comment about the patch: > +typedef enum { > + false = 0, true = 1 > +} bool; We have stdbool.h, so why do we need this enumeration?