From: brownsta AT concentric DOT net (Stan Brown) Newsgroups: comp.os.msdos.djgpp Subject: LFN support enabled, no LFNs Date: Mon, 30 Mar 1998 16:12:10 -0500 Organization: Oak Road Systems Lines: 57 Message-ID: NNTP-Posting-Host: ts003d05.cle-oh.concentric.net To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk I'm running a DOS box under Win95. My command shell is 4DOS. I compiled my program with GCC 2.01, using this command: gcc -o zonk.exe zonk.c There were no compile or link messages. (Yes, I've discovered that there's a later version, and I'm in the process of downloading it.) My problem is that, even though the value of _USE_LFN is 1, I'm getting back only 8.3-style filenames from _dos_findfirst() and _dos_findnext(). I'm sure I'm doing something obviously wrong, but I just don't see it. (Yes, I checked, and the current directory does contain a long filename, javascript.zip.) Can anyone help? (If you post an answer, please send me a copy in email. My ISP has been missing some Usenet articles over the past few days.) Here's the complete program. (The reported file names, sizes, dates, and times all look right against a DIR.) #include #include #include int main(int argc, char **argv) { struct find_t f; int result; printf("_USE_LFN = %d\n", _USE_LFN); if ( !_dos_findfirst("*.*", _A_NORMAL, &f) ) { while (1) { printf("%-14s %10u %02u:%02u:%02u %02u/%02u/%04u\n", f.name, f.size, (f.wr_time >> 11) & 0x1f, (f.wr_time >> 5) & 0x3f, (f.wr_time & 0x1f) * 2, (f.wr_date >> 5) & 0x0f, (f.wr_date & 0x1f), ((f.wr_date >> 9) & 0x7f) + 1980); if ( (result = _dos_findnext(&f)) != 0 ) { printf("return value is %d = %04X\n", result, result); break; } } } return 0; } -- Stan Brown, Oak Road Systems, Cleveland, Ohio, USA http://www.concentric.net/%7eBrownsta/ Please do not send me mail with a false return address.