From 2df6034eb63fb5746db110cad83ef5b1c04d3891 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 26 Jul 1996 00:05:41 +0000 Subject: Thu Jul 25 19:53:31 1996 Roland McGrath From Robert Hoehne : * dir.c [__MSDOS__] [DJGPP > 1]: Include and defin `__opendir_flags' initialized to 0. [__MSDOS__] (dosify) [DJGPP > 1]: Return name unchanged if _USE_LFN. (find_directory) [__MSDOS__ && DJGPP > 1]: If _USE_LGN, set __opendir_flags to __OPENDIR_PRESERVE_CASE. --- dir.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/dir.c b/dir.c index 11343dd..cc0c3e3 100644 --- a/dir.c +++ b/dir.c @@ -56,6 +56,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifdef __MSDOS__ #include +#if (DJGPP > 1) +#include +int __opendir_flags = 0; +#endif static char * dosify (filename) @@ -65,6 +69,11 @@ dosify (filename) char *df; int i; +#if (DJGPP > 1) + if (_USE_LFN) + /* Using long file names; do no transformation. */ + return filename; +#endif if (filename == 0) return 0; @@ -372,6 +381,13 @@ find_directory (name) dc->next = directories_contents[hash]; directories_contents[hash] = dc; +#if defined (__MSDOS__) && (DJGPP > 1) + if (_USE_LFN) + /* We are using long filenames, so tell opendir not + to mess with them. */ + __opendir_flags = __OPENDIR_PRESERVE_CASE; +#endif + dc->dirstream = opendir (name); if (dc->dirstream == 0) { -- cgit v1.2.3